AHAOee 2021-02-08 11:46 采纳率: 0%
浏览 27

为什么这个if语句的功能跟我知道的不一样?

#include <stdio.h>
int main(void)
{
    char ch;


    while ((ch = getchar()) != '#')
    {
        if (ch != '\n')
        {
            printf("1\n");
            if (ch = 'q')
            {
                printf("2\n");
                printf("3\n");
            }
            else if (ch = 'c')
                continue;

            else if (ch = 'g')
                printf("3\n");

            else if(ch = 'b')
                break;

        }

    }
    printf("done\n");

    return 0;
}

我想要的是输入q打出

1

2

3

输入c打出

1

输入g打出

1

3

输入b只打出

1

done

望大神指教啊!

 

  • 写回答

1条回答 默认 最新

  • SoftwareTeacher 《编程之美》作者 2021-02-08 13:26
    关注

    >    if (ch = 'q')

     

    当要表达 相等 的关系, 要用  == 

    评论

报告相同问题?