C++ C+中的Char和int+;?
请告诉我问题出在哪里:C++ C+中的Char和int+;?,c++,C++,请告诉我问题出在哪里: int sum = 105; char a = sum; cout << a; // Prints : 'i' char b = '105'; cout << b; // Prints : '5' int和=105; 字符a=总和; 不能将字符设置为105。。。这是一个整数。将字符设置为105将其设置为i: 105恰好是i的ascii码,这就是为什么当您将a设置为105时它会打印i(这是有效的,但不是您想要的)它会打印i,因为您不会主动将int转
int sum = 105;
char a = sum;
cout << a;
// Prints : 'i'
char b = '105';
cout << b;
// Prints : '5'
int和=105;
字符a=总和;
不能将字符设置为105。。。这是一个整数。将字符设置为105将其设置为i:
105恰好是i
的ascii码,这就是为什么当您将a设置为105时它会打印i
(这是有效的,但不是您想要的)它会打印i,因为您不会主动将int转换为char。
整数105和字符都由位“0110101”表示
例如,include string library可使用函数将整数转换为字符串。表示字母“i”的ascii代码为105,它打印5,因为字符只能包含1个值作为字符。
因此,当您这样做时:
char b = '105';
最终结果将是'5'
由于您将其设置为字符而不是int,因此它会显示char'5'
,其值为53
正如其他人所说,105
是asciii
的值,将其设置为'105'可能不是OP想要的:“我正在尝试将单词'five'转换为'5',因此如果我键入'five',输出应为'5')所以编写代码,这样做没有标准的C++中的内置能力。正如前面的注释所指出的,“代码< > char b=‘105’;导致了实现定义的行为,即这不是标准C++,除非您确切地知道您正在做什么,否则不应该使用它。如果您想将字符串“1”、“2”转换,“三",等等。然后你必须自己编程。这个没有内置功能。你必须在程序中定义这些单独的字符串,然后使用来比较用户的输入和这些单独的预定义字符串。好的,谢谢大家的帮助。@AndreasWenzel我正试图将单词“5”转换为“5”。我不确定你的意思是什么n、 char a=105
是完全有效的C++achar
至少在-128到127或0到255之间。因此105始终是char的有效值: