我是一个初学者,有几个小时的有效期,我正在尝试做一个真正简单的程序,以熟悉e IF命令。我想出了这个密码:

#include<stdio.h>

int main()
{
    char ans;
    char n;
    char y;
    printf("Do you want to exit?\n");
    scanf("%c\n",ans);
    if (ans == y)
    {
        printf("As you wish!\n");
        return 0;
    }
    else (ans == n);
    {
        printf("You'll exit anyways!\n");
        return 0;
    }
}

我想应该可以,但是我输入了一些东西之后程序就停止工作了!提前谢谢!

最佳答案

else (ans == n);

这并没有给出预期的结果。移除;和条件。
else可能只需要一段代码。它不处理条件。
如果需要条件,请使用else if
else if (ans == 'n')

更多错误:
if (ans == y)

这里的y是指变量,它已声明但没有值。当然,您要引用字符'y'
if (ans == 'y')

另外,scanf需要一个指针,因此使用ans而不是&ans
它需要写入值的内存地址。它不在乎价值。
你最终会学到指针的。(假设你在几个小时的经验中还没有复习过)

关于c - 代码“应该”起作用,但是程序停止起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15587564/

10-11 23:04
查看更多