ホームページ  >  記事  >  バックエンド開発  >  C言語の文字列出力関数puts()の役割は何ですか?

C言語の文字列出力関数puts()の役割は何ですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-12-21 10:55:335166ブラウズ

C 言語の文字列出力関数 puts() の機能: 1. [puts()] は文字列を表示するときに文字列の末尾に自動的に改行文字を追加します; 2. [puts()] は空の文字列 文字に到達すると出力が停止するため、NULL 文字が存在することを確認する必要があります。

C言語の文字列出力関数puts()の役割は何ですか?

[関連する学習に関する推奨事項: C 言語チュートリアル ビデオ ]

C言語文字列出力関数 puts() の役割:

  • puts() は、文字列の末尾に改行文字を自動的に追加します。表示されています。

  • puts() NULL 文字が見つかった場合は出力を停止するため、NULL 文字が存在することを確認する必要があります。

次の 2 つの例は、puts() の 2 つの特性をそれぞれ示しています。

例 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&#39;m an argument to puts().");
    puts(DEF);
    puts(str1);
    puts(str2);
    puts(&str1[5]);
    puts(str2+4);
 
    return 0;
}</stdio.h>

このプログラムの出力は次のとおりです:

I&#39;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[] = {&#39;W&#39;, &#39;O&#39;, &#39;W&#39;, &#39;!&#39; };
    char side_b[] = "Side B";
 
    puts(dont);   /* dont is not a string */
 
    return 0;
}</stdio.h>

以下はこのプログラムの例です。実行するたびに結果が異なる場合があります。コンパイラによって出力される内容は異なる場合があります:

WOW!Side A

Puts() はどこで停止するかをどのようにして知るのでしょうか? この関数は、NULL 文字に遭遇すると出力を停止します。終端の null 文字が欠けていないため、文字列ではないため、puts() はどこで停止するのかわかりません。 dont の後は、null 文字が見つかるまでメモリ内の内容を出力し続けます。 Puts() がヌル文字をできるだけ早く読み取れるようにするために、side_aside_b の間に dont を置きます。上記はプログラムの実行例であり、さまざまな方法で出力されます。コンパイラ 内容は異なる場合があります

以上がC言語の文字列出力関数puts()の役割は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。