王鹿其 发表于 2023-9-30 16:48:26

这个代码的错误在哪

#include<iostream>
using namespace std;
int main()
{
        char Y,N;
        char result;
        cout<<"现在正在下雨吗,没下雨请输入N,下雨了请输入Y:\n";
        cin>>result;
       
                if(result='Y')
                {
                        cout<<"现在正在下雨\n";
                }
                else if(result='N')
                {
                        cout<<"现在没有下雨\n";
                }       
          else{
                  cout<<"现在正在下雨吗?\n";
                }
       
        return 0 ;       
}

isdkz 发表于 2023-9-30 16:48:36

代码中的错误在于条件语句中使用的是赋值运算符"="而不是比较运算符"=="。在条件语句中应该使用比较运算符进行判断,否则会将变量result的值赋值为'Y'或'N',导致判断结果不正确。正确的代码应该是:

#include<iostream>
using namespace std;
int main()
{
    char result;
    cout<<"现在正在下雨吗,没下雨请输入N,下雨了请输入Y:\n";
    cin>>result;

    if(result=='Y')
    {
      cout<<"现在正在下雨\n";
    }
    else if(result=='N')
    {
      cout<<"现在没有下雨\n";
    }
    else{
      cout<<"现在正在下雨吗?\n";
    }

    return 0 ;
}
页: [1]
查看完整版本: 这个代码的错误在哪