我有程序打印从char_min到char_max的所有char,这里是代码
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
int main(){
char c;
c=CHAR_MIN;
while(c!=CHAR_MAX){
printf("d\n",c);
c=c+1;
}
return 0;
}
但它只打印所有d为什么?输出就像这样
d
d
d
d
d
d
d
d
d
d
...
。 。按任意键继续
答案 0 :(得分:6)
printf("d\n",c); /// Means just print "d" (c is ignored)
printf("%d\n",c); /// Means print the decimal value of varaible c
printf("%c\n",c); /// Means print the charcter value of varaible c
使用“%d”只会打印“0”,“1”,“2”等
使用“%c”将打印字符值:“A”,“B”,“C”等。但请注意,前31个不可打印。
答案 1 :(得分:2)
替换
printf("d\n",c);
带
printf("%c\n",c);