C语言菜鸟问题:如下#include "stdio.h"void main(){ char a='A'+'8'-'4';\x05printf("%d",a);}这样算出来等于69,但是改为 char a='A'+'8'计算出来的是121?按我的理解:‘8’和‘4’计算时应当是计算其ASCII码而不是

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 12:38:33
C语言菜鸟问题:如下#include

C语言菜鸟问题:如下#include "stdio.h"void main(){ char a='A'+'8'-'4';\x05printf("%d",a);}这样算出来等于69,但是改为 char a='A'+'8'计算出来的是121?按我的理解:‘8’和‘4’计算时应当是计算其ASCII码而不是
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呢?

C语言菜鸟问题:如下#include "stdio.h"void main(){ char a='A'+'8'-'4';\x05printf("%d",a);}这样算出来等于69,但是改为 char a='A'+'8'计算出来的是121?按我的理解:‘8’和‘4’计算时应当是计算其ASCII码而不是
#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   


然后进行十进制加减法吧