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

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

3个回答

因为你在第一次输入后,输入流中有个换行,那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);

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问