<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. C語言

    C語言的字符串輸出puts()函數

    時間:2025-06-03 00:11:14 C語言 我要投稿
    • 相關推薦

    C語言的字符串輸出puts()函數

      puts()函數很容易用,只需把字符串地址作作為參數傳遞給它就可以了。下面我們一起來學習一下吧!

      puts()函數有兩個特點:

      puts()在顯示字符串時會自動在其末尾添加一個換行符。 puts()遇到空字符時就停止輸出,所以必須確保有空字符。

      下面兩個示例分別說明puts()的兩個特點。

      示例1:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    /* 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>

      該程序的輸出如下:

    1
    2
    3
    4
    5
    6
    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:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    /* 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>

      下面是該程序的一個示例,可能每次運行結果都不一樣,不同的編譯器輸出的內容有可能不同:

    1
    WOW!Side A

      puts()如何知道在何處停止?該函數遇到空字符時就停止輸出。由于dont缺少一個表示結束的空字符,所以它不是一個字符串,因此puts()不知道何處停止。它會一直打印dont后面內存中的內容,直到發現一個空字符為止。為了讓puts()能盡快讀到空字符,我們把dont放在side_a和side_b之間,上面是該程序的一個運行示例,不同的編譯器輸出的內容有可能不同

      通常內存中有許多空字符,如果幸運的話,puts()很快就會發現一個。但是這樣做是不靠譜的!


    【C語言的字符串輸出puts()函數】相關文章:

    C語言字符串的輸入輸出07-03

    C語言字符串處理函數03-01

    C語言之字符串處理函數03-12

    C語言的字符串處理函數strlen()04-27

    C語言字符串操作函數及常用的實現03-16

    C語言的字符串反轉輸出是什么樣06-26

    C語言字符串處理的庫函數有哪些06-24

    C語言字符串操作函數和常用的實現03-20

    C語言中返回字符串函數的實現方法03-22

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人