You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dev-C++中实现输入年龄后与前后文本显示在同一行

问题原因与解决方案

你遇到的问题分为两类:语法错误、输入回车默认触发终端换行,对应解决方法如下:

  • 首先修正你原代码的语法错误
    输出流的运算符是<<,你在输出years old时误用了输入运算符>>,且末尾的<<endl没有绑定cout对象,修正语法后的基础代码如下:

    #include <iostream>
    using namespace std;
    
    int main() {
        int number;
        cout << "I Am ";
        cin >> number;
        cout << " years old" << endl;
        return 0;
    }
    

    但该版本仍存在换行问题:你输入年龄后按下的回车键会被终端默认输出为换行符,导致years old显示在下一行。

  • 实现所有内容同屏显示在一行的解决方案
    用无回显输入逐字符读取年龄,手动打印输入的数字,避免回车键触发换行,Dev-C++环境可直接运行以下代码:

    #include <iostream>
    #include <conio.h>
    using namespace std;
    
    int main() {
        int age = 0;
        char input_char;
        cout << "I Am ";
        // 读取输入直到按下回车键
        while ((input_char = _getch()) != '\r') {
            // 只处理数字输入,过滤非法字符
            if (input_char >= '0' && input_char <= '9') {
                age = age * 10 + (input_char - '0');
                cout << input_char; // 手动回显输入的数字
            }
        }
        cout << " years old" << endl;
        // 后续可直接使用age变量存储的年龄值
        return 0;
    }
    

    运行后输入年龄按下回车,整句话会完整显示在同一行。


内容的提问来源于stack exchange,提问作者Njabulo Manando

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 14:15:04