qq_37719250
jeryZH
采纳率57.1%
2017-04-19 17:39 阅读 1.6k

C++ 通过char一个数组,用cin.get输入后程序直接结束

是这样,我定义了两个char类型的数组,但是输入第一个后程序直接结束了,没有出现后面的指令,这是什么原因?
图片说明

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

3条回答 默认 最新

  • 已采纳
    La_vie_est_belle la_vie_est_belle 2017-04-21 02:01

    因为你在第一次输入后,输入流中有个换行,那cin.get(num2, 100);首先抽取到的是换行,所以程序就认为输入结束了。

    两种解决方案:

    1.: 加一个cin.get();

    cin.get(num1, 100);
    cin.get();
    cout << "输入第二个数" << endl;

    2: 把cin.get()换成cin.getline(); 因为getline是在输入完后丢弃换行符的。

    cin.getline(num1, 100);
    cin.getline(num2, 100);

    点赞 1 评论 复制链接分享
  • qq_37708702 SlienceAccept 2017-04-19 22:49

    在一个输入指令后加getchar()

    点赞 2 评论 复制链接分享
  • qq_37452998 Conan_zp 2017-04-21 01:58

    输入第一个指令后按回车,回车直接被NUM2接收,在一个输入指令后加getchar()就OK了

    点赞 评论 复制链接分享

相关推荐