前面在輸出字符串時都使用printf,通過“%s”輸出字符串。其實還有更簡單的方法,就是使用 puts() 函數。該函數的原型為:
# include <stdio.h>
int puts(const char *s);
這個函數也很簡單,只有一個參數。s可以是字符指針變量名、字符數組名,或者直接是一個字符串常量。功能是將字符串輸出到屏幕。輸出時只有遇到 '\0' 也就是字符串結束標志符才會停止。
下面寫一個程序:
# include <stdio.h>
int main(void)
{
char name[] = "祖國!";
printf("%s\n", name); //用printf輸出
puts(name); //用puts()輸出
puts("我愛你!"); //直接輸出字符串
return 0;
}
輸出結果是:
祖國!祖國!我愛你!
可見使用 puts() 輸出更簡潔、更方便。而且使用 puts() 函數連換行符 '\n' 都省了,使用 puts() 顯示字符串時,系統會自動在其后添加一個換行符,也就是說: printf("%s\n", name);和 puts(name);是等價的, 所以前面字符指針變量中 printf("%s\n", 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("輸出結果是:%s\n", str);
而 puts() 就不能使用如下寫法:
puts(輸出結果是:str);
