qq_41517828
qq_41517828
2018-07-19 03:14
采纳率: 25.9%
浏览 703

C++编程问题请大神赐教

为什么我输入Y或者N的时候会是这样?
现在正在下雨现在正在下雨吗
(Y/N)

#include
using namespace std;

int main()
{
char a;
int b;
while (a=1) {

    cout << "现在正在下雨吗" << '\n' << "(Y/N)" << endl;
    cin >> a;
    switch (a) {
    case 'Y':
        cout << "现在正在下雨";
        a = 2;
        break;
    case'N':
        cout << "现在没有下雨";
        a = 2;
        break;
    default:
        a = 1;





    }
}



return 0;

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • caozhy
    已采纳

    图片说明

     // Q695122.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    
    #include <iostream>
    using namespace std;
    
    int main()
    {
        char a = '1';
        int b;
        while (a=='1') {
    
            cout << "is raining now?" << '\n' << "(Y/N)" << endl;
            cin >> a;
            switch (a) {
            case 'Y':
                cout << "raining";
                a = '2';
                break;
            case'N':
                cout << "not raining";
                a = '2';
                break;
            default:
                a = '1';
            }
        }
        return 0;
    }
    
    
    
    点赞 评论
  • caozhy

    while (a=1)
    ->
    while (a==1)

    点赞 评论
  • caozhy

    while (a=1)
    ->
    while (a=='1')

    a = 2;
    ->
    a = '2';

    a = 1;
    ->
    a = '1';

    点赞 评论
  • caozhy

    char a;
    ->
    char a = '1';

    点赞 评论
  • qq_42650691
    qq_42650691 2018-07-20 11:52

    while(a=1)会始终为真,应该是a==1吧

    点赞 评论

相关推荐