就第一个if输入N,但是他没有输出else后面的句子,而是接受下一个if
不是
你的代码是先全部输入再判断的啊
要么你就输入一个判断一个 121786404 发表于 2020-3-23 18:00
这是小甲鱼课上switch这一节课的举例,我照着抄的,是不能这样子吗
不是
看你想要的效果咯
getchar的缘故,去掉后,会直接执行第二个printf然后就输出女神没空 121786404 发表于 2020-3-23 18:08
去掉getchar会把回车键算一个字符当成嵌套if的输入
我还是没听明白你的意思,你是想输入N后直接输出else中的语句,还是其他
#include <stdio.h>
int main()
{
char isRain,isFree;
printf("是否有空?(Y/N)");
scanf("%c",&isFree);
getchar();
if(isFree=='Y')
{ printf("是否下雨?(Y/N)");
scanf("%c",&isRain);
getchar();
if(isRain=='Y')
{
printf("记得带伞哦!^_^\n");
}
}
else
{
printf("女神没空!T_T\n");
}
return 0;
}
代码是从上往下线性执行的,在两个scanf语句不运行完是不会向下执行的 121786404 发表于 2020-3-23 18:11
是的
那就我感觉只能分开写了,分开判断执行,你也说了,写到一起会把回车当作一个字符,你还可以使用switch语句
页:
[1]