小编Hou*_*Yao的帖子

为什么“-1 < strlen(s)”等于0?

char* s =(char*) "sss";
int j = -1;
printf("%d", j < strlen(s));
Run Code Online (Sandbox Code Playgroud)

j < 3主要是关于和之间的区别j < strlen(s)

在上面的代码中,printf()函数打印0,但是如果我改为strlen(s)3,结果就变成1(正如我所期望的那样)。

原因是什么?

c integer strlen comparison-operators implicit-conversion

-1
推荐指数
1
解决办法
157
查看次数