我想知道为什么第一次使用strcasecmp()函数时返回0,但第二次使用时却不是。
在这个例子中,我特别将"hello world"输入标准输入。但它打印出来的不是0 0,而是0 10。我的代码如下:
#include "stdio.h"
#include "string.h"
int main(void) {
char input[1000];
char *a;
fgets(input, 1000, stdin);
a = strtok(input, " ");
printf("%d\n",strcasecmp(a,"hello")); //returns 0
a = strtok(NULL, " ");
printf("%d\n",strcasecmp(a,"world")); //returns 10
return 0;
}
我做错了什么?
a
会包含一个换行符。调试器可以确认这一点。 - Ed Heal