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

Visual Studio环境下C++字符串拼接输出异常排查求助

C++字符串拼接异常问题解答

根因分析

  • 变量赋值时序错误:你在调用cin给last_name赋值之前,就提前完成了l2的拼接。此时last_name是刚声明的空字符串,l2拼接完成后的值固定为Mr. ,后续last_name的更新不会同步到已经生成的l2变量中,所以最终输出不会显示输入的姓氏。
  • 冗余变量:代码中声明的first_name变量从未使用,属于冗余内容,不会影响运行但建议清理。
  • 输出格式遗漏空格:原输出语句中l2与age之间未加空格,即使拼接逻辑正确,也会出现姓氏与年龄连在一起的显示问题。

修复方法

调整代码执行顺序,将字符串拼接逻辑放到用户输入完成之后即可,修正后代码如下:

#include "std_lib_facilities.h"

int main()
{
    cout << "Please enter last name and age\n";
    string last_name;
    int age;
    // 先读取用户输入的内容
    cin >> last_name >> age; 
    // 输入完成后再拼接字符串
    string l2 = "Mr. " + last_name;
    // 输出时增加空格分隔姓氏和年龄
    cout << "Hello, "  << l2 << " " << age << "\n";
}

内容的提问来源于stack exchange,提问作者Sam Edick

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:27:03