先上代码
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int main(void)
{
bool flag = false;
int unprt[32];
int ch;
long count = 0;
for(int i = 0;i <= 31; i++)
unprt[i] = i;
while((ch = getchar()) != EOF)
{
for(int i = 0;i <= 31; i++)
{
if(ch==unprt[i])
{
printf("^%s ",ch+64);
printf(" %d ",ch);
count++;
flag = true;
break;
}
}
if(flag)
continue;
else {putchar( ch );
printf(" %d ",ch);
count++;
}
flag = false;
if(count>10&&(count%10==0))
putchar('\n');
}
system("pause");
return 0;
}
程序的目的是接受字符并打印字符及其对应的ASCII码,如果是非打印字符就用一个向上的箭头加
字母表示下面是运行结果
这个前面几个字符还好但是最后的ctrl+A就程序停止运行了,这是什么情况?