哪有问题吗,怎样才能不出错?

img

  • 字符串不能用==进行比较,要用strcmp函数,如果相等,strcmp函数返回0
  • char a是一个字符变量,只能存放一个字符,你怎么放入一个“哈哈”字符串?
  • 你的if/else和printf语句压根没有层级和缩进,非常容易出错!

代码更改如下

#include<stdio.h>
#include<string.h>

int main()
{
    char a[10];
    printf("说暗号>");
    scanf("%s", a);
    if (strcmp(a, "哈哈")==0)
        printf("you are right\n");
    else
        printf("sorry");

    return 0;
}

img

如果对你有帮助,还请点个采纳,万分感谢!

a是字符变量 只是存储一个字符
"哈哈"可以 看作是一个字符串

两者不能进行直接比较

以上仅供参考,如有任何疑问,可以评论回复,看到即回。
希望对题主有所帮助!可以的话,点个采纳!

只有基本数据类型如int,long,double等才可以进行==判断,字符串,对象等是不可以进行==判断的,要判断就需要引入string.h头文件,在使用strcmp函数进行比较

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632