#include<cstdio>
#include<cstring>
int main()
{
char s[100];
scanf("%s",s);
if(-1>=strlen(s))
printf("true\n");
return 0;
}
竟然打印出true 求解答!!!
#include<cstdio>
#include<cstring>
int main()
{
char s[100];
scanf("%s",s);
if(-1>=strlen(s))
printf("true\n");
return 0;
}
竟然打印出true 求解答!!!
在Visual C++ 6.0中,原型为size_t strlen(const char *string); ,其中size_t实际上是unsigned int,在VC6.0中可以看到这样的代码:typedef unsigned int size_t;
-1转换成无符号了。所以变成一个很大的数