#include"stdio.h"
void main()
{
char a='1',b='2';
printf("%c,",b++);
printf("%d\n",b-a);
}
程序输出 的结果为 。
为什么是2.2 ?这种题怎么求解?
题目条件 :数字字符0的ASCII码为48
char a='1',b='2';
printf("%c,",b++); //b++,++在后面,这里会先打印b的值,打印
2,然后b再自增
printf("%d\n",b-a); //上一条语句自增后 b == ‘3’,所以b -a =2
那他告诉你 数字字符0的ASCII码为48 没有什么用吗
追答a和b里面的‘1’,‘2’是以字符存储的,如果你用%d来直接打印,会输出49,50。也就是在0的ASCII码基础上+1,+2。
明白了么?