我是一个有几个小时的经验的初学者,我正在尝试制作一个非常简单的程序来熟悉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;
}
}
Run Code Online (Sandbox Code Playgroud)
我认为它应该工作,但在我输入一些东西后,程序停止工作!提前致谢!
该
if (ans == y)
Run Code Online (Sandbox Code Playgroud)
应该读
if (ans == 'y')
Run Code Online (Sandbox Code Playgroud)
前者与ans未初始化变量的值进行比较y,而后者则检查是否ans包含该字符'y'.
同样的道理'n'.
的y和n变量是不必要的,并且可以被移除.
此外,以下行不正确:
else (ans == n);
Run Code Online (Sandbox Code Playgroud)
它应该读
else if (ans == 'n')
Run Code Online (Sandbox Code Playgroud)
(我添加了if并删除了分号.)
最后,scanf()应阅读:
scanf("%c",&ans);
Run Code Online (Sandbox Code Playgroud)