我需要幫助瞭解他們在這裏真正問到的是什麼。 我已經寫了部分程序。 是否必須打印換行符和製表符的十進制值? 爲什麼我無法一直得到每行10對?有時候我會得到10雙,有時候不會。使用轉義符號打印控制字符
的任務是:
編寫一個程序,讀取輸入作爲字符流,直到遇到 EOF。讓程序打印每個輸入字符及其 ASCII十進制值。
請注意,ASCII 序列中空格字符之前的字符是非打印字符。特別對待他們。如果 非打印字符是換行符或製表符,請分別打印\ n或\ t, 。否則,使用控制符號表示法。例如, ASCII 1是Ctrl + A,可以顯示爲^ A。請注意,A的ASCII 值是Ctrl + A加64的值。對於其他非打印字符,類似關係包含 。每行打印10對,除 外,每次遇到換行符時都會重新打印一行。
這是我寫:
#include <stdio.h>
int main(void)
{
int ch;
int i=0;
printf("Please enter some characters.\n\n");
while((ch=getchar()) != EOF)
{
if((i%10) == 0)
printf("\n");
if (ch == '\n')
printf("\n\\n ");
else if (ch == '\t')
printf("\\t %d ", ch);
else if (ch < ' ')
printf("^%c %d ", ch+64, ch);
else
printf("%c %d ",ch, ch);
i = i+1;
}
return 0;
}
http://www.asciitable.com/您將要處理二進制文件。 – 2012-02-26 11:15:32
你的問題是什麼?它看起來像你缺少的是printables和non-printables之間的區別。 – 2012-02-26 11:15:45
該程序運行,但我不知道它是否正常工作。 – leocod 2012-02-26 12:31:53