C语言练习题 打印输入的每个字符的十进制ACSII码,每行最多显示十个
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define EOF -1
int main(void){
int counter=0;
char ch;
while((ch=getchar())!=EOF){//获取字符直到结束
if((counter++)==10){//每十个字符换行一次
printf("\n");
counter=1;//换行结束将计数器归一等待下次换行
}
if(ch>'\040'){//\040是八进制ACSII码中的空格,小于它的都是非显示字符
printf("\'%c\'==%3d ",ch,ch);
}else if(ch=='\n'){//\n是回车
printf("\\n==\\n \n");//\是转义字符,n是普通字符,\n是回车,\\n是显示\n
return 0;
}else if(ch=='\t'){//\t是制表符
printf("\\t==\\t ");//与\n同理
}else{
printf("\'%c\'==^%c ",ch,ch+64);//CTRL+字符,表示为^字符
}
}
return 0;
}