練習 1-10 :編寫一個將輸入複製到輸出的程序,並將其中的製表符替換爲\t,把回退符替換爲\b,把反斜槓替按爲\\。這樣可以將製表符和回退符以可見的方式顯示出來。
和習題1-9類似,只是在判斷輸入字符的時候有差異,主要考察轉義字符
代碼如下:
void copyinput2(){
char c;
char str[1000];
int i=0;
while((c=getchar())!=EOF){
if(c=='\t'){
str[i++]='\\';
str[i++]='t';
}else if(c=='\b'){
str[i++]='\\';
str[i++]='b';
}else if(c=='\\'){
str[i++]='\\';
str[i++]='\\';
}else{
str[i++]=c;
}
}
str[i]='\0';
printf("%s",str);
}
問題:發現輸入回退符無法記錄!爲什麼?