天天看點

c語言 puts 和 printf的差別

文章在我的新部落格也有哦~歡迎戳我~~ 

puts() 
           

隻用來輸出字元串,就算隻有一個字母“a” ,也會當成一個字元串。

因為字元串的最後一項預設為   “\0”  (字元串終止符的标志),

而puts()遇到  \0  會輸出  \n

也就是說,puts(s) 和 printf("%s\n",s) 的輸出格式是一樣的。

 printf()
           

的輸出格式很多,可以根據不同的需要,加轉義字元,達到格式化輸出。

puts()的參數可以直接是字元串,如puts("abcd");

               也可以是變量名, 如 a = “abcd”; puts(a);有換行。

printf()的參數也可以直接是字元串,如printf("abcd");

               要實作換行必須printf("%s\n",a);

上面說到  ,puts()遇到 \0 會輸出 \n , 那麼直接 puts("")是不是輸出換行呢?

答案是肯定的!!!

那麼  ,puts("\0")是輸出兩個換行嗎??

經過測試,并不是這樣!!!

想要輸出兩個換行,是puts("\n")!!

原因:  \0是字元串結束的标志,之後的字元也都不讀取!!

puts("\n"); 先讀取 \n  再讀取  \0; 而puts("\0"); 讀取 \0 之後 ,下一個  \0 就不再讀取了,是以隻有一個換行。

繼續閱讀