有人可以纠正代码并解释为什么gets无法正确读取值吗?

问题描述

代码

#include<iostream>

using namespace std;

struct Emp{
    int empno;
    char name[100];
    char designation[100];
    float basic;
} employee;

int main(){
    
    cout<<"ID: ";
    cin>>employee.empno;
    
    cout<<"Name: ";
    gets(employee.name);
    
    cout<<"Designation: ";
    gets(employee.designation);
    
    cout<<endl;
    cout<<"Details: "<<endl;
    cout<<employee.empno<<endl;
    cout<<employee.name<<endl;
    cout<<employee.designation<<endl;
    
    
    return 0;
}

输出https://i.stack.imgur.com/Hkj8i.png

运行代码时,光标会跳过“ gets(employee.name)”并转到“ gets(employee.designation)”。谁能澄清这种现象的原因并提出纠正方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)