作业帮 > 综合 > 作业

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>

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