no more talk, just run it

我一向主张,对于C语言之类课程,真正端正的学习态度,是实际写一写程序来验证自己的想法是否正确.


最近,我看到有同学提出如下问题:



对于上面这道选择题,我写了个程序,觉得至少能通过运行结果来解释上述的 BCD三个选项是否正确:

源文件名为 strlen_test.c

#include <stdio.h>


#ifdef DEVTOR_STRLEN 
int strlen(char *str)
{
	printf("自定义函数的返回值");
	return 4;
}
#else
#include <string.h>
#endif

int main(void)
{
	size_t len = strlen("hello world!\n");
	printf("len = %d\n", len);
	return 0;
}


该程序需要用两种编译方法来查看不同的运行结果。


第一种编译方法,生成可执行程序 strlen_case1.out
gcc -DDEVTOR_STRLEN  -o strlen_case1.out strlen_test.c


第二种编译方法,生成可执行程序 strlen_case2.out
gcc -o strlen_case2.out strlen_test.c


然后执行这两个程序,看看运行结果吧。多说无益,运行了自然就明白了。

PS: 该程序目前我只提供了Linux下的编译方法,windows或者其他平台下面的方法,读者有兴趣可以回复一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值