它不相等:
fgets (answer, 256, stdin);
if (strncmp(answer, "sta", 4) == 0)
printf("omg, it's equal");
这段代码是:
fgets (answer, 4, stdin);
if (strncmp(answer, "sta", 4) == 0)
printf("omg, it's equal");
为什么?这是因为首先,我猜第四位的答案没有 \0(如果我将其更改为 3 而不是 4 它可以工作)。但是 fgets 是做什么的呢?第一个字符串答案是str \whitespace*253\0"
?在第二个是str\0
?谢谢你。