C语言菜鸟问题:如下#include "stdio.h"void main(){ char a='A'+'8'-'4';
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/06 08:39:19
C语言菜鸟问题:如下
#include "stdio.h"
void main()
{ char a='A'+'8'-'4';
\x05printf("%d",a);
}
这样算出来等于69,但是改为 char a='A'+'8'计算出来的是121?
按我的理解:‘8’和‘4’计算时应当是计算其ASCII码而不是8和4(8的ASCII码是56),但是怎么会出现69呢?
#include "stdio.h"
void main()
{ char a='A'+'8'-'4';
\x05printf("%d",a);
}
这样算出来等于69,但是改为 char a='A'+'8'计算出来的是121?
按我的理解:‘8’和‘4’计算时应当是计算其ASCII码而不是8和4(8的ASCII码是56),但是怎么会出现69呢?
#include <stdio.h>
int main(void)
{
char a = 'A' + '8' -'4';
char b = 'A' + '8';
char c = 'A';
char d = '8';
char e = '4';
printf("a = %d\n", a);
printf("b = %d\n", b);
printf("c = %d\n", c);
printf("d = %d\n", d);
printf("e = %d\n", e);
return 0;
}
这样打印出来你就知道了
'A' 等于十进制数值的65
‘8’ 等于十进制数值的56
‘4’ 等于十进制数值的52
然后进行十进制加减法吧
再问: 呵呵,谢谢了 自己弄懂了。你没说出关键来:因为他们对应的ASCII码值的差值和他们的差值是一样的
再答: 这个不成问题,我以为你自己会百度搜搜的 : http://www.96yx.com/tool/ASC2.htm
int main(void)
{
char a = 'A' + '8' -'4';
char b = 'A' + '8';
char c = 'A';
char d = '8';
char e = '4';
printf("a = %d\n", a);
printf("b = %d\n", b);
printf("c = %d\n", c);
printf("d = %d\n", d);
printf("e = %d\n", e);
return 0;
}
这样打印出来你就知道了
'A' 等于十进制数值的65
‘8’ 等于十进制数值的56
‘4’ 等于十进制数值的52
然后进行十进制加减法吧
再问: 呵呵,谢谢了 自己弄懂了。你没说出关键来:因为他们对应的ASCII码值的差值和他们的差值是一样的
再答: 这个不成问题,我以为你自己会百度搜搜的 : http://www.96yx.com/tool/ASC2.htm