C++小问题求助
程序要求:编写一个完整的程序,实现功能:向用户提问“现在正在下雨吗?”,提示用户输入Y或N。若输入为Y,显示“现在正在下雨。”,N,则显示“现在没有下雨。”;否则继续提问“现在正在下雨吗?”。下面是我写的代码:#include<iostream>
using namespace std;
int main()
{
char answer;
int i=1;
while(i>0)
{
cout<<"现在正在下雨吗?"<<endl;
cout<<"Please enter \'Y\' or \'N\'"<<endl;
cin>>answer;
if(answer='Y')
{
cout<<"现在正在下雨。"<<endl;
break;
}
else
{
if(answer='N')
{
cout<<"现在没有下雨。"<<endl;
break;
}
}
i++;
}
return 0;
}
我觉得没什么问题了,可是我运行的结果是,无论我输入的是什么字母,它都显示“现在正在下雨。”,我是一个刚开始学C++的小菜鸟,问题可能有些弱智,但还是希望各位大神多多帮助。{:5_111:} 判断等于要用两个等号"==" , 一个等号是赋值 =是赋值,==才是比较
你的
if(answer='Y')
{
cout<<"现在正在下雨。"<<endl;
break;
}
else
{
if(answer='N')
{
cout<<"现在没有下雨。"<<endl;
break;
}
这里,if(answer='Y')就是把Y赋给answer然后比较answer和'Y'所以一定是正在下雨 无符号整形 发表于 2016-7-9 18:39
=是赋值,==才是比较
你的
谢谢啦 zzk176 发表于 2016-7-9 18:33
判断等于要用两个等号"==" , 一个等号是赋值
收到,谢谢 if语句里很容易出现这个问题,加油啦 xiaomixixi 发表于 2016-7-13 22:12
if语句里很容易出现这个问题,加油啦
嗯呢,谢谢
页:
[1]