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

为何C++代码输出数字而非预期字符串?该数字含义是什么?

字符相加输出数字而非字符串的原因及解决方法

为什么输出数字而非字符串?

在C++中,char类型本质是8位整数类型,它存储的是字符对应的ASCII码值。当你执行text[0] + text[text.length()-1]时,两个char会被自动提升为int类型进行算术加法运算,而非字符串拼接。

数字138代表什么?

以你代码中的字符串"ASCII"为例:

  • 首字符'A'的ASCII码值是65
  • 尾字符'I'的ASCII码值是73
    两者相加的结果是65 + 73 = 138,这就是你看到的输出数字。更换字符串索引时,不同字符对应不同的ASCII值,相加结果自然会变化。

如何得到预期的"AI"输出?

有两种简单的实现方式:

  1. 直接依次输出两个字符
#include <iostream>
#include <string>
using namespace std;

int main(){
    string text = "ASCII";
    cout << text[0] << text[text.length()-1]; 
}
  1. 拼接成字符串后输出
#include <iostream>
#include <string>
using namespace std;

int main(){
    string text = "ASCII";
    string result;
    result += text[0];
    result += text.back(); // 等价于text[text.length()-1]
    cout << result; 
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 11:42:02