C语言新手提问

#include <stdio.h>
int main()
{
int i=65;
char ch='B';
printf("%d,%c\n",i,i);
printf("%d,%c\n",ch,ch);
return 0;
}
这段简单的C语言谁帮我分析一下..为什么输出是 65,A 66,B

第1个回答  2013-06-25

字符'A'的ANSCI码为65

字符'B'的ANSCI码为66

65以%c(字符形式打印到终端)输出A

B以%d(整形打印到终端)输出66

第2个回答  2013-06-25
char类型和int类型的变量,在printf中可以使用%d或者%c输出。
%d输出的时候,指int型本身的值或者char型对应的ascii码值。
%c输出的时候,指char型本身的值或者int型对应的字符值。本回答被提问者采纳
第3个回答  2013-06-25
int i=65;                // 在C中, 所有类型都可以相互转换,只不过可能会丢失数据
char ch='B';             // 字符 'A' 的ASCII码值为65, 'B'为66
printf("%d,%c\n",i,i);   // i=65按照%d为整型输出, 所以是65, %c表示按字符输出, 所以是'A'
printf("%d,%c\n",ch,ch); // ch也是同样的道理, 输出为66, B

第4个回答  2013-06-25
因为A的asc2码就是65,B的asc2码是66
相似回答