辉打才子 发表于 2021-4-7 16:35:36

请问大佬为什么我输哪个名字都是 输出打印美丽冻人

#include <stdio.h>

int main()

{
        int i;
       
        printf("输入你想查询的名字 : ");
        scanf("%s", &i);
       

        if ("i = 猩猩")
        {
                printf("美丽冻人\n");
        }
        else if ("i = 大嘴")
        {
                printf("清纯可爱\n");
        }
        else if ("i = 野猪")
        {
                printf("聪明机智\n");
       }
       
       
        else
                {
                        printf("下次一定\n");
                }
       
        return 0;
       
       
}

wp231957 发表于 2021-4-7 16:44:44

本帖最后由 wp231957 于 2021-4-7 16:59 编辑

if ("i = 猩猩")就这句代码有④处错误

一世轻尘 发表于 2021-4-7 16:46:56

第一,i是整型变量,不能存储字符串
第二,判断是否相等应该用==而不是=
第三,你的if...else分支结构中的判断条件用""表示这是一个常量字符串,这种常量都为真,所以if的循环体一定会执行

wp231957 发表于 2021-4-7 16:49:36

一世轻尘 发表于 2021-4-7 16:46
第一,i是整型变量,不能存储字符串
第二,判断是否相等应该用==而不是=
第三,你的if...else分支结构中的判 ...

还有第四,字符串比较不能用等等

一世轻尘 发表于 2021-4-7 16:53:33

wp231957 发表于 2021-4-7 16:49
还有第四,字符串比较不能用等等

哦,对,忘记打了,用strcmp{:10_275:}

一世轻尘 发表于 2021-4-7 16:54:04

111

辉打才子 发表于 2021-4-7 23:31:41

一世轻尘 发表于 2021-4-7 16:54
111

谢谢大佬指点
页: [1]
查看完整版本: 请问大佬为什么我输哪个名字都是 输出打印美丽冻人