gets() 不允许先执行法院

gets() doesnot allow execution of cout first

我目前正在使用 'Digital Mars C++',因为我需要类似语法的 Turbo C++ 和 32 位 exe 构建,所以这就是原因。

现在我面临的问题是,当我编写下面的代码时,

#include <iostream.h>
#include <stdio.h>
int main()
{
    char n[30];
    cout << "Enter Name: ";
    gets(n);
    return 0;
}

然后我保存这个文件然后我将这个文件保存为test.cpp

然后我打开命令提示符并键入 dmc test.cpp

现在我得到一个编译文件 exe 文件 test.exe,现在当我 运行 它首先要求输入然后它显示一条消息 Enter Name:.

请帮我解决这个问题,真的很有必要。

注意:

请不要建议我使用 GCC 编译器。

如果您能指导我在我的 stdio.h 文件中进行更改以纠正 gets 函数以正常工作或与修复此错误相关的任何此类其他头文件,我将非常高兴。

您可以添加此代码,

 cout << flush;

就在使用之前 cout << "Some Statement"; 在直接方法中,您可以这样做 cout << " Some Statement" << flush; 然后轻松使用 gets()