weixin_46267669
weixin_46267669
采纳率100%
2020-02-06 10:22

0基础初学提问:为什么if语句不执行呀??而且提示the variable ' rain ' is being used without being initialized

已采纳

图片说明

如果输入Y能够正常执行,但是输入N再按回车就会提示说‘rain’未被初始化

关于if-elseif语句还是不太清楚TAT
请大佬指正出错误,万分感谢!!TAT

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • dabocaiqq dabocaiqq 1年前

    char freetime = 0, rain = 0;
    vc++额外检查变量初始化,别的编译器不检查,所以这个错误你没有见过,加上就好。

    点赞 2 评论 复制链接分享
  • qinqinxiansheng Mr.Qin_ 1年前

    if里面的内容不一定执行,所以尽量不要把scanf写在if语句里面。在这里编译器认为变量rain有“不初始化而直接使用”的风险

    点赞 1 评论 复制链接分享
  • weixin_44579820 ShowBeOne 1年前

    你只定义的char变量rain,但并没有在执行第一个if语句前为其赋值(也就是报错里说的without being initailized),所以在freetime != Y的情况下,并不会执行scanf_s("%c",&rain,sizeof(char)),也就不会为rain赋值

    点赞 1 评论 复制链接分享
  • csdn_yezifeng csdn_yezifeng 1年前

    可以把变量都初始化一下

    点赞 1 评论 复制链接分享
  • kkfhv591 阿超591 1年前

    你直接写freetime=getchar()或者 rain=getchar()不行吗?

    点赞 评论 复制链接分享