Avatar ·

如何在C和C++中将char转换为int?解析数字与字符

大家好!我刚开始学习C++,遇到了一个令人困惑的情况。我需要从标准输入读取一个字符并将其转换为整数,以便进行算术运算。这是我的C++代码: ```cpp #include using namespace std; int main() { char c; cout << "请输入一个数字:"; cin >> c; int num = (int)c; // 尝试将char转换为int cout << "输入的数字乘以2:" << num * 2 << endl; return 0; } ``` 如果我输入`5`,期望输出`10`,但程序却输出`106`!为什么会这样?我读到过`char`是整数类型,可以强制转换为`int`。但显然我哪里做错了。请告诉我如何正确地将包含数字的字符转换为整数?以及C风格和C++风格的char到int转换有什么区别?提前感谢帮助! <<>>

为什么会出现错误?

你的问题是新手常见的陷阱