【发布时间】:2020-01-03 17:00:48
【问题描述】:
我正在执行这个程序 输出为 ASCII 码值的 104。 它以 ASCII 值给出值,但我怎样才能得到数字输出
void main()
{
char ch1 , ch2, sum;
ch1 = '2';
ch2 = '6';
sum = ch1+ch2;
printf("sum = %d ", sum);
getch();
}
【问题讨论】:
-
您能描述一下您期望的输出吗?你在找它打印 8 吗?
-
你问“我怎样才能得到数字输出” - 但
104是一个数字。这不是您期望的数字吗?你期待什么?确定不是8?'2'是十进制值为 50 的 ASCII 字符,而'6'是十进制值为 54 的 ASCII 字符。50 + 54 == 104。如果您打算添加2和6,那么您应该有ch1 = 2; ch2 = 6;,以便您将十进制数值分配给您的变量而不是ASCII字符代码。
标签: c char ascii integer-promotion