puts可以輸出字符串,例如:
puts("123abc");
"123abc" 對應的ASCII碼值的八進制分別是 61、62、63、141、142、143,上面的代碼也可以寫為:
puts("\61\62\63\141\142\143");
在C語言中,所有的ASCII碼都可以用反斜槓\加數字(默認是8進制)來表示,稱為轉義字符(Escape Character),因為\後面的字符都不是它原來的ASCII字符的意思了。x開頭。"123abc" 對應的ASCII碼值的十六進制分別是 31、32、33、61、62、63,所以也可以寫為:
puts("\x31\x32\x33\x61\x62\x63");
注意:只能使用八進制或十六進制,不能使用十進制。一個完整的例子:
#include <stdio.h>
int main(){
puts("The string is: \61\62\63\x61\x62\x63");
return 0;
}
運行結果:
#include <stdio.h>
int main(){
puts("C\tC++\tJava\nC first appeared!\a");
return 0;
}
運行結果:
C C++ Java
C first appeared!
\a的效果。"和\在字符串中都有特殊含義:"表示字符串的開始和結束,\表示轉義字符的開始。它們都不能直接出現在字符串中,必須要經過轉義,也就是在前面加\,如\"、\\。abc\61"xyz的代碼:
#include <stdio.h>
int main(){
puts("abc\\61\"xyz");
return 0;
}
運行結果:\不經過轉義,寫作puts("abc\61\"xyz");,那麼會輸出abc1"xyz,\61被當做轉義字符處理。"不經過轉義,寫作puts("abc\\61"xyz");,就會出現錯誤,編譯器會把"abc\\61"作為一個字符串,而xyz"不知道是什麼,也不應該出現在這裡,所以報錯。\、"時必須要轉義。