一道C语言的题。数字字符0的ASCII值为48,若有一下程序:

2024-11-27 23:51:24
推荐回答(4个)
回答1:

printf("%c,",b++); /这步要先printf b后,b再自加 所以打印出来的是2
printf("%d",b-a); /这步b已自加了,所以b='3',ASCII值是51,a='1',ASCII值是49,所以b-a=51-49=2

回答2:

b++是先返回后自增,所以执行printf("%c,",b++);是输出2,而在执行后b变成了'3'所以b-a是'3'-'1'
使用printf("%d",b-a)输出的时候也是2

回答3:

a里面存的是1的ASII码33,b里存的是2的ASII码34,当执行第一个printf时,打印b的字符,就是2,打印后执行++,然后里面存的是35,执行第二个先计算b-a,得到算式结果是2,按照数值打印就是2了,应该是这样的了。

回答4:

语句:printf("%c,",b++); 以 字符 方式输出 b的值,即字符 '2',再 +1,也就是 字符 '3';

语句:printf("%d",b-a); 以 十进制数 方式输出 b-a=2的值,就是 数值 2