#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的内容。
相关文章
- VC++2010中派生CDC类的问题
- 关于Docker时的权限问题解决dial unix /var/run/docker.sock: connect: `permission denied`
- go-zero学习及使用中遇到的问题
- Spring竟然可以创建“重复”名称的bean?—一次项目中存在多个bean名称重复问题的排查
- 解决Windows提示丢失vcomp100.dll的问题
- 关于在parallelstream中对数据库进行增删改造成死锁问题的处理
- #yyds干货盘点 【React工作记录十五】关于ant design中input限制加空格的问题
- 解决双网卡虚拟机linux无法上外网问题的经历
- Java学习之字节流写入的两个小问题
- 面试官:给你一段有问题的SQL,如何优化?