#include <string.h>
int main(void)
{
char str[] = "hello";
if(-1 < strlen(str))
{
printf("I guess this line will be print./n");
}
elsle
{
printf("UH/n");
}
return 0;
}
上面的程序输出的是第一个printf还是第二个printf的内容呢?
先看看strlen的声明
size_t strlen( char *str );
对!问题就出在size_t上面,一般而言size_t被typedef为一个无符号数。可以通过查看stddef.h来查看size_t的定义。
通过上面的分析应该很容易看出上面的程序输出的是第二个printf的内容。