为啥输入N不直接判断女神没空,反而还需要判断是否下雨
问题如上#include<stdio.h>int main(){
char isRain,isFree;
printf("女神是否有空?(Y/N)");
scanf("%c",&isFree);
getchar();
printf("是否下雨?(Y/N)");
scanf("%c",&isRain);
if(isFree == 'Y'){
if(isRain == 'Y'){
printf("记得带伞!\n");
}
}
else{
printf("女神没空!\n");
}
return 0;
}
你就是这么写的啊? 永恒的蓝色梦想 发表于 2021-7-13 20:46
你就是这么写的啊?
我想着应该是那种判断第一个条件,输入N应该直接打印 女神没空,可结果是输入N后还要判断是否下雨,这咋改啊 本帖最后由 永恒的蓝色梦想 于 2021-7-14 12:56 编辑
c语言入门新人 发表于 2021-7-13 20:53
我想着应该是那种判断第一个条件,输入N应该直接打印 女神没空,可结果是输入N后还要判断是否下雨,这咋 ...
#include<stdio.h>
int main(){
char isRain,isFree;
printf("女神是否有空?(Y/N)");
scanf("%c",&isFree);
if(isFree == 'Y'){
getchar();
printf("是否下雨?(Y/N)");
scanf("%c",&isRain);
if(isRain == 'Y'){
printf("记得带伞!\n");
}
}
else{
printf("女神没空!\n");
}
return 0;
} 这里修改了,一下如果没空直接没空,如果没有下与也直接没空
#include <stdio.h>
void WaitConfirm ( void )
{
fflush(stdin);
getchar();
}
int main( int argc, char *argv [ ] )
{
char isRain,isFree;
printf("女神是否有空?(Y/N)");
scanf("%c",&isFree);
if (isFree == 'N') // 如果女神没有空....
{
goto Next;
}
WaitConfirm();
printf("是否下雨?(Y/N)");
scanf("%c",&isRain);
WaitConfirm();
if ( isFree == 'Y')
{
if ( isRain == 'Y' )
{
printf("记得带伞!\n");
return 1;
}
else
{
goto Next;
}
}
else
{
Next: // 就会跳转到下面
printf("女神没空!\n");
}
WaitConfirm();
return 0;
} 永恒的蓝色梦想 发表于 2021-7-13 20:54
谢谢大佬 不过你这个多了个else了
#include<stdio.h>
int main(){
char isRain,isFree;
printf("女神是否有空?(Y/N)");
scanf("%c",&isFree);
if(isFree == 'Y'){
getchar();
printf("是否下雨?(Y/N)");
scanf("%c",&isRain);
if(isRain == 'Y'){
printf("记得带伞!\n");
}
}
else{
printf("女神没空!\n");
}
return 0;
} c语言入门新人 发表于 2021-7-14 12:47
谢谢大佬 不过你这个多了个else了
#include
啊,搞错了
页:
[1]