strcmp问题,两个字符串数组相比较结果总是1?

img

#include
#include

int main(int argc,char const *argv[])
{
    char s1[]="aaaaaaaPc";
    //char s2[]="abc";
    //char s2[]="bbc";
    char s2[]="AkkkkkkkkkkkkkkkBc     ";
    
    //printf("%d\n",s1==s2);
    printf("%d\n",strcmp(s1,s2));
    printf("%d\n",'a'-'A');
    
    return 0;
}

为什么我的编译器和视频中的运行结果不同,怎么改都是1?

http://t.csdn.cn/zaoSV 请看看这 API 的文档, 你把 s1,s2 换一个位置比较,应该返回 -1.

你的视频是哪个老师讲的?

视频中不对,strcmp的返回值:
如果返回值小于 0,则表示 str1 小于 str2。
如果返回值大于 0,则表示 str1 大于 str2。
如果返回值等于 0,则表示 str1 等于 str2。