我试图打印完整的ASCII图表.同时我在tutorialsschool.com网站上看到了这段代码.
#include<stdio.h>
void main() {
int i;
for(i=0;i<=255;i++){
printf("%d->%c\n",i,i);
}
}
Run Code Online (Sandbox Code Playgroud)
它看起来很完美,但问题是它不打印位置的符号(我使用Code :: Blocks IDE),如7,8,9,10和32.我真的很困惑,为什么它不打印那些值location.And它给在线编译器提供了一些奇怪的输出.这就是Code :: Blocks的问题.什么可能是打印这些ASCII符号的其他程序.
我真的很困惑,为什么它不打印那些位置的值.
因为那些代码是不可打印的ASCII代码.注意标准ASCII代码只有7位(即128个字符) - 其中几个是不可打印的(控制代码) - 所以你不能打印它们(例如,你可以打印Bell 0x07吗?)
正如Mohit Jain所指出的那样,你真的需要使用isprint函数来检查一个字符在打印出来之前是否可以在标准C语言环境中打印 - 非常方便的功能.