【发布时间】:2020-09-18 08:58:32
【问题描述】:
我遇到了一个奇怪的问题,我不知道如何解释。当我运行此代码时,它会打印此符号 -> 。 这是我的代码:
#include <iostream>
int main() {
int num = 1;
char number = num;
std::cout<<number<<std::endl;
system("PAUSE");
return 0;
}
我不明白为什么。通常它应该将整数转换为字符。我正在使用 Dev C++,我的语言标准是 ISO C++11。我现在编程 4 年了,这是我第一次得到这样的东西。我希望我能解释我的问题,如果有人可以帮助我,我将不胜感激。
【问题讨论】:
-
试试这个:
std::cout<<+number<<std::endl; -
它修复了它。谢谢你。但是为什么它以前不起作用?请解释一下好吗?
-
奇怪的符号是ASCII码
1的字符。你想打印什么?如果您想打印文本1,那么只需执行std::cout << num;为什么首先要转换为char? -
什么是“1 作为字符”?它是编码值为 1 的字符吗?还是包含数字 1 的字符?
1 != '1'. -
如果您想知道,
+number会将字符转换为int,让您回到开始的位置。
标签: c++ char type-conversion int