很简单
因为printf(“%c,%d\n”,c1,c2);中,c2你用的输出格式符是%d,代表输出十进制整型68,如果你也用如前面%c,就会输出字符D.
不懂可以在问我~
原因是 %D 是输出数值,而不是字符 字符D对应的的ASCII数值是68
%C 是输出字符 如果程序改成printf(“%c,%c\n”,c1,c2);
打印的结果就是 ED 了
有什么不对吗
%d是输出数字,%c是输出字符
当然会输出'a'的ascii值,直接输出字母'y'了
如果printf("%d,%d\n",c1,c2)就会输出65,89了
printf(“%c,%d\n”,c1,c2);看到没有输出格式,%c ,c1 是字符类型输出,%d ,c2是按整形输出的,所以结果是 E ,68