puts函數,C語言puts函數用法詳解

2020-07-16 10:04:21
前面在輸出字串時都使用printf,通過“%s”輸出字串。其實還有更簡單的方法,就是使用 puts() 函數。該函數的原型為:

# include <stdio.h>
int puts(const char *s);

這個函數也很簡單,只有一個引數。s可以是字元指標變數名、字元陣列名,或者直接是一個字串常數。功能是將字串輸出到螢幕。輸出時只有遇到 '' 也就是字串結束標誌符才會停止。

下面寫一個程式:
# include <stdio.h>
int main(void)
{
    char name[] = "祖國!";
    printf("%sn", name);  //用printf輸出
    puts(name);  //用puts()輸出
    puts("我愛你!");  //直接輸出字串
    return 0;
}
輸出結果是:
祖國!祖國!我愛你!

可見使用 puts() 輸出更簡潔、更方便。而且使用 puts() 函數連換行符 'n' 都省了,使用 puts() 顯示字串時,系統會自動在其後新增一個換行符,也就是說:
printf("%sn", name);
和:
puts(name);
是等價的。所以前面字元指標變數中:
printf("%sn", string);
也可以直接寫成:
puts(string);
我們寫一個程式來驗證一下:
# include <stdio.h>
int main(void)
{
    char *string = "I Love You China!";
    puts(string);
    return 0;
}
輸出結果是:
I Love You China!

但是 puts() 和 printf() 相比也有一個小小的缺陷,就是如果 puts() 後面的引數是字元指標變數或字元陣列,那麼括號中除了字元指標變數名或字元陣列名之外什麼都不能寫。比如 printf() 可以這樣寫:
printf("輸出結果是:%sn", str);
而 puts() 就不能使用如下寫法:
puts(輸出結果是:str);
因此,puts() 雖然簡單、方便,但也僅限於輸出字串,功能還是沒有 printf() 強大。