首页 > 用户发贴区 > 编程问题提问区 > 为什么输出的结果是相反的呢?
2009
05-21

为什么输出的结果是相反的呢?

#include<stdio.h>


main()


{


    char  s1[5] = “abcde”;


    char  s2[5] = “abcde”;


    if(s1==s2)


        printf(“s1==s2\n”);


    else


        printf(“s1!=s2\n”);


}


 


这个程序明明s1和s2是一样的,怎么结果却是s1!=s2??


为什么输出的结果是相反的呢?》有 2 条评论

  1. yy_uestc 说:

    if(s1==s2)   比较的是两个字符数组的首地址,明显不相等萨!!//*对字符串比较 这个形式是得不到结果的

    改为if(*s1==*s2)就OK了/*貌似只比较了第一个字符 比较字符串还是用strcmp好点

    不知道我说的对不对!!!

  2. ai474427793 说:

    对!

留下一个回复