C語言字串輸出函數puts()的作用:1、【puts()】在顯示字串時會自動在其末尾添加一個換行符;2、【puts()】遇到空字符時就停止輸出,所以必須確保有空字符。
【相關學習推薦:C語言教學影片】
#C語言字串輸出函數puts()的作用:
puts()在顯示字串時會自動在其末尾添加一個換行符。
puts()遇到空白字元時就停止輸出,所以必須確保有空字元。
下面兩個範例分別說明puts()的兩個特點。
範例1:
/* put_out.c -- using puts() */ #include <stdio.h> #define DEF "I am a #defined string." int main(void) { char str1[80] = "An array was initialized to me."; const char * str2 = "A pointer was initialized to me."; puts("I'm an argument to puts()."); puts(DEF); puts(str1); puts(str2); puts(&str1[5]); puts(str2+4); return 0; }</stdio.h>
該程式的輸出如下:
I'm an argument to puts(). I am a #defined string. An array was initialized to me. A pointer was initialized to me. ray was initialized to me. inter was initialized to me.
如上所示,每個字串獨佔一行,因為puts()在顯示字串時會自動在其末尾添加一個換行符。
範例2:
/* nono.c -- no! */ #include <stdio.h> int main(void) { char side_a[] = "Side A"; char dont[] = {'W', 'O', 'W', '!' }; char side_b[] = "Side B"; puts(dont); /* dont is not a string */ return 0; }</stdio.h>
以下是程式的範例,可能每次執行結果都不一樣,不同的.編譯器輸出的內容有可能不同:
WOW!Side A
puts()如何知道在何處停止?函數遇到空字元時就停止輸出。由於dont缺少一個表示結束的空字符,所以它不是一個字串,因此puts()不知道何處停止。它會一直列印dont後面記憶體中的內容,直到發現一個空字元為止。為了讓puts()能盡快讀到空字符,我們把dont放在side_a
和side_b
之間,上面是該程式的一個運行範例,不同的編譯器輸出的內容有可能不同
以上是C語言字串輸出函數puts()的作用是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!