C语言字符串输出函数puts()的作用是什么
C語(yǔ)言字符串輸出函數(shù)puts()的作用:
puts()在顯示字符串時(shí)會(huì)自動(dòng)在其末尾添加一個(gè)換行符。
puts()遇到空字符時(shí)就停止輸出,所以必須確保有空字符。
下面兩個(gè)示例分別說(shuō)明puts()的兩個(gè)特點(diǎn)?! ?br />
示例1:
/* put_out.c -- using puts() */
#include?
#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;
}
該程序的輸出如下:
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.
如上所示,每個(gè)字符串獨(dú)占一行,因?yàn)閜uts()在顯示字符串時(shí)會(huì)自動(dòng)在其末尾添加一個(gè)換行符?! ?br />
示例2:
/* nono.c -- no! */
#include?
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;
}
下面是該程序的一個(gè)示例,可能每次運(yùn)行結(jié)果都不一樣,不同的.編譯器輸出的內(nèi)容有可能不同:
WOW!Side A
puts()如何知道在何處停止?該函數(shù)遇到空字符時(shí)就停止輸出。由于dont缺少一個(gè)表示結(jié)束的空字符,所以它不是一個(gè)字符串,因此puts()不知道何處停止。它會(huì)一直打印dont后面內(nèi)存中的內(nèi)容,直到發(fā)現(xiàn)一個(gè)空字符為止。為了讓puts()能盡快讀到空字符,我們把dont放在side_a和side_b之間,上面是該程序的一個(gè)運(yùn)行示例,不同的編譯器輸出的內(nèi)容有可能不同
聲明:
本文于網(wǎng)絡(luò)整理,版權(quán)歸原作者所有,如來(lái)源信息有誤或侵犯權(quán)益,請(qǐng)聯(lián)系我們刪除或授權(quán)事宜。
總結(jié)
以上是生活随笔為你收集整理的C语言字符串输出函数puts()的作用是什么的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 饿了么app如何扫码
- 下一篇: c 中=和==的区别有哪些?