gpt4 book ai didi

c++ - 将字符串转换为 int C++ 的错误结果

转载 作者:行者123 更新时间:2023-11-30 00:53:24 25 4
gpt4 key购买 nike

string test;
test="3527523";
int a=test[3];
std::cout<<a<<std::endl;

我原以为输出是 7,但我得到的是 55。我搜索了不同的帖子,他们都使用这种方法没有任何问题..我只是不知道我的问题出在哪里。感谢您的帮助!

最佳答案

test[3]返回 char ,您要将其转换为整数,因此它返回字符的 ASCII 值。 3在 ASCII 中是 55 .

尝试使用 char而不是 a 的类型:

char a = test[3];

std::cout << a; // 3

如果您希望结果为整数,请从 '0' 中减去该字符:

std::string test = "3527523";

int a = test[3] - '0';

std::cout << a; // 3

关于c++ - 将字符串转换为 int C++ 的错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16492463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com