c++:如何打印出一个强制转换的 int 值?

c++: How do you print to stdout a casted int value?

本文关键字:转换 int 一个 何打印 打印 c++      更新时间:2023-10-16

我有一个接受字符串的程序。使用计算整数字符串中所有值之和的check()函数,我进行了额外的计算,也称为 ss。当我尝试将 ss(一个 int(转换为字符 c 时,问题就来了。 当我尝试打印出新转换的值时,控制台上没有打印任何内容,甚至没有错误消息。

我试过使用static_cast<char>(ss),但它不起作用。然而,当我尝试打印出 ss 值时,我让它打印出来。

源代码

void sum(string input)    
{
int s = check(input);    
int ss = (s * 9) % 10;    
char c = ss;    
cout << "val is: " << c << endl;    
}
int main()
{
string x = "7992739871";
sum(x);
return 0;
}

有人可以解释我可能做错了什么以及如何修复它吗?

您可以使用 std::to_string(( (C++11(,但确保c的值是可以打印的是一种更好的做法。