#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
static char s1[]="Good";
static char s2[20];
static char s3[20]="Day";
int i = strcmp(strcat(s3,strcpy(s2,s1)),strcat(s3,"good"));
printf("%d\n",i);
return 0;
}
这里的输出是 0,这意味着作为参数传递给的两个字符串strcmp
是相等的。但是对于strcmp
第一个论点是"DaygoodGood"
,第二个是"Daygood"
......
为什么会这样?