gpt4 book ai didi

c++ - 为什么第一个 gets() 在此代码中不起作用?

转载 作者:行者123 更新时间:2023-11-30 05:20:54 24 4
gpt4 key购买 nike

我已经使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com