strcmp函数,为什么这样输入,输出结果为1?
#include <stdio.h>
#include <string.h>
int main(void)
{
int n;
char str1[20],str2[20];
gets_s (str1);
gets_s (str2);
n = strcmp (str1,str2);
printf_s ("%d\n",n);
}
运行时,如果输入abcd和abc,为什么输出结果为1?
[解决办法]
这是strcmp函数的实现机制决定的,如果改用strncmp(str1,str2, 3);那么结果又是另一种。