如何在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转换有什么区别?提前感谢帮助!
<<>>
为什么会出现错误?
你的问题是新手常见的陷阱