#include
#include
char a[] = "1";
int main () {
if(strlen(a)-2 > 0)
printf("%d\n", strlen(a)-2);
return 0;
}
为什么结果是输出:-1
strlen(a)值为1,而strlen的返回值是无符号型,导致strlen(a)-2的结果也是无符号型,最终输出1-2=-1
遇到这种问题,基本都是因为你正编写的文件和运行的文件不是一个文件
要么你干脆弄错了要执行的文件,要么是语法有错误没有编译通过,IDE提示你要不要执行之前已经生成的exe你点了是