我是初学者。
我用cclipse编写了一个程序。它在编译时不会给我任何错误和警告,也不会在执行后给出任何错误和警告 它打印出所有字符的所有ASCII值。
码
#include <stdlib.h>
#include <stdio.h>
int main(){
int a=0;
system("clear");
printf("\nthese are the ASCII values of characters given in front of them\n");
while(a<=255)
{
printf("%c %d \n",a,a);
a=a+1;
}
}
输出很奇怪,当我复制粘贴输出时它会消失,因此这是输出屏幕截图的link。 我无法对整个屏幕进行屏幕截图,但在126之后,这些字符看起来像是盒子。我的代码中有什么问题吗?
答案 0 :(得分:0)
许多字符都是不可打印的,有些字符是终端/控制台的控制代码,用于执行清除屏幕,移动光标,清除线等操作。
使用isprint
中定义的ctype.h
函数确定字符是否可打印。 for循环更适合您的要求,请参见下面的示例。
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
int main(){
system("clear");
printf("\nthese are the ASCII values of characters given in front of them\n");
int a;
for(a = 0; a <= 255; ++a)
{
printf("%c %d \n", isprint(a) ? a : '.', a);
}
}