为了秃去变强 发表于 2022-4-1 15:39:04

S1E12的if问题

#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");
       }

这段我打出来运行的时候发现输入Y再输入N,结果还是会打印出记得带伞噢,
也就是说最后本来应该没反应的,第二个N不应该触发第二个打印才对啊。
我找了好久的问题在哪{:10_266:}{:10_266:}

我用的Dev-C++

大马强 发表于 2022-4-1 17:12:28

第二个if 后加了分号

#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");
}

为了秃去变强 发表于 2022-4-2 00:00:25

这个加了;为啥没报错呢
页: [1]
查看完整版本: S1E12的if问题