我已经使用 dev c++ 和 code::Blocks 尝试过这段代码(在多个程序中),但是第一个 gets() 命令在后面跟着 cin 时永远不会执行>>
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int i;
char c[10], d[10];
cout<<"Enter int ";
cin>>i;
cout<<"Enter string ";
gets(c); // this is where things act all possessed
cout<<"Enter 2nd string ";
gets(d);
cout<<i<<endl<<c<<endl<<d;
return 0;
}
请帮帮我
我尝试过的:
我试过将变量 i 作为 char,然后仅使用 gets() 获取输入,这完美地工作 但在某些程序中,我严格需要将它作为一个整数,以便能够执行递增/递减/任何操作
最佳答案
Gets 不是'没有被执行',而是返回一个空字符串。发生这种情况是因为 cin
将光标留在完成读取的行。您应该以任何可能的方式阅读这一行,例如使用相同的 gets
读取它到某个缓冲区
关于c++ - 为什么第一个 gets() 在此代码中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40460885/