ホームページ バックエンド開発 C#.Net チュートリアル C言語で配列を入力するにはどうすればよいですか?

C言語で配列を入力するにはどうすればよいですか?

May 07, 2019 am 10:42 AM
c++ C言語

C言語で配列を入力するにはどうすればよいですか?

C 言語には、キーボードから配列データを入力できる関数が 2 つあります。gets()scanf() 。 scanf() は、フォーマット制御文字 %s を介して配列文字列を入力します。文字列に加えて、他のタイプのデータも入力できます。gets() は配列文字列を直接入力し、文字列のみを入力できます。

ただし、scanf() と gets() には違いがあります。

scanf() 文字列を読み取るときは、文字列はスペースで区切られます。スペースが出現すると、現在の文字列が終了したものとみなされ、スペースを含む文字列は読み取ることができません。

gets()スペースも文字列の一部であることを考慮すると、文字列の入力は Enter キーが入力されたときにのみ終了するとみなされるため、スペースがいくつ入力されても、 Enter キーが押されていない限り、Enter キーは gets() の完全な文字列です。つまり、gets() は文字列の行全体を読み取るために使用されます。
例:

#include <stdio.h>
int main(){
char str1[30] = {0};
char str2[30] = {0};
char str3[30] = {0};
//gets() 用法
printf("Input a string: ");
gets(str1);
//scanf() 用法
printf("Input a string: ");
scanf("%s", str2);
scanf("%s", str3);
//分别输出
printf("\nstr1: %s\n", str1);
printf("str2: %s\n", str2);
printf("str3: %s\n", str3);
return 0;
}
ログイン後にコピー

実行結果:

Input a string: C C++ Java Python
Input a string: PHP JavaScript
str1: C C++ Java Python
str2: PHP
str3: JavaScript
ログイン後にコピー

最初の入力文字列はgets()によって完全に読み取られ、str1に保存されます。 2 番目の入力文字列の前半は最初の scanf() によって読み取られて str2 に格納され、後半は 2 番目の scanf() によって読み取られて str3 に格納されます。
scanf() は、データを読み取るときにデータのアドレスが必要であることに注意してください。これは定数であるため、int、char、float およびその他の型の変数の場合は、アドレスを取得するために前に & を追加する必要があります。しかし、このコードでは文字列の名前だけを指定し、先頭に & を追加していません。これはなぜでしょうか?文字列名または配列名は通常、使用中にアドレスに変換されるため、& を追加する必要はなく、エラーが発生する可能性もあります。
これまでに学んだ知識に関する限り、scanf() で使用する場合、int、char、float などの型の変数は先頭に & を付ける必要がありますが、配列や文字列を先頭に追加する必要はありません。 scanf() で使用され、それ自体がアドレスに変換されます。読者はこのことを念頭に置いておかなければなりません。
配列名(文字列名)とアドレスの変換の詳細と、配列名がアドレスに変換されるタイミングについて。

以上がC言語で配列を入力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C言語での返品の意味 C言語での返品の意味 Apr 03, 2025 pm 06:54 PM

returnキーワードは、関数から値を返すためにC言語で使用され、構文はreturen [式]です。関数の戻り値を指定するために使用できます(指定されていない場合は、暗黙的に戻る0)、関数の実行、パス値、およびハンドルエラーを終了します。

C言語関数の概念 C言語関数の概念 Apr 03, 2025 pm 10:09 PM

C言語関数は再利用可能なコードブロックです。彼らは入力を受け取り、操作を実行し、結果を返すことができます。これにより、再利用性が改善され、複雑さが軽減されます。関数の内部メカニズムには、パラメーターの渡し、関数の実行、および戻り値が含まれます。プロセス全体には、関数インラインなどの最適化が含まれます。単一の責任、少数のパラメーター、命名仕様、エラー処理の原則に従って、優れた関数が書かれています。関数と組み合わせたポインターは、外部変数値の変更など、より強力な関数を実現できます。関数ポインターは機能をパラメーターまたはストアアドレスとして渡し、機能への動的呼び出しを実装するために使用されます。機能機能とテクニックを理解することは、効率的で保守可能で、理解しやすいCプログラムを書くための鍵です。

C言語関数の返品値の種類は何ですか? C言語関数の返品値のタイプの概要? C言語関数の返品値の種類は何ですか? C言語関数の返品値のタイプの概要? Apr 03, 2025 pm 11:18 PM

c言語関数の返品値タイプには、int、float、double、char、void、およびポインタータイプが含まれます。 intは整数を返すために使用され、フロートとダブルはフロートを返すために使用され、charは文字を返します。 voidとは、関数が値を返さないことを意味します。ポインタータイプはメモリアドレスを返し、メモリの漏れを避けるように注意してください。構造またはコンソーシアムは、複数の関連データを返すことができます。

計画を立てる技術 計画を立てる技術 Apr 03, 2025 pm 07:27 PM

Cプログラミングの課題と楽しいプログラミング言語の学習は簡単ではなく、Cに入ることはありませんでした。興味深いと思われましたが、学習の旅を記録するためにブログを書くことにしました。なぜ私がcを選んだのか興味があるかもしれませんか?正直に言うと、私は大規模なプロジェクト開発に関与したことがないので、すべてのソフトウェア開発プロジェクトのように、それは挑戦的な体験になるでしょう。今後も進捗状況を更新し続けます。 Cの魅力は偶然ではありません。 Cにはまだ巨大な忠実なユーザーベースがあります。これは、プログラミングの分野で聖杯として知られており、すべてのプログラマーが試すべき挑戦です。私はCに深く魅了され、自分でそれを体験したかったのです。コンパイラを通して退屈なエクササイズを行うのではなく、それを学ぶために本当のプロジェクトを選びました。 >私はこれがそうなると信じています

Cプログラマー&#の未定義の行動ガイド Cプログラマー&#の未定義の行動ガイド Apr 03, 2025 pm 07:57 PM

Cプログラミングで未定義の動作を調査する:詳細なガイドこの記事では、Cプログラミングの未定義の動作に関する電子書籍を紹介します。これは、Cプログラミングの最も困難であまり知られていない側面のいくつかをカバーする合計12の章です。この本は、C言語の入門的な教科書ではありませんが、C言語プログラミングに精通している読者を対象としており、未定義の行動のさまざまな状況と潜在的な結果を探ります。著者Dmitrysviridkin、編集者アンドレイ・カーポフ。 6か月間の慎重な準備の後、この電子書籍はついに読者と会いました。印刷バージョンも将来発売されます。この本はもともと11の章を含めることが計画されていましたが、作成プロセス中にコンテンツは継続的に豊かになり、最終的に12の章に拡張されました。

ユニークな共有ライブラリの問題 ユニークな共有ライブラリの問題 Apr 03, 2025 pm 08:00 PM

問題の説明最近、自己構築されたC言語共有ライブラリをローカルプロジェクトにリンクしようとしたときにリンクエラーが発生し、リンクエラーが発生し、「未定義の参照」を促しました。エラーメッセージは次のとおりです。/bin/ld:/tmp/cchb7mj8.o:infunction`sdl_main':main.c :(。

libvは2つです libvは2つです Apr 03, 2025 pm 08:03 PM

私はLua-Libuvというプロジェクトを開発しましたが、私の経験を喜んで共有しています。プロジェクトの当初の意図は、libuv(cで書かれた非同期I/Oライブラリ)を使用して、C言語を深く学習せずに簡単なHTTPサーバーを構築する方法を探ることです。 ChatGptの助けを借りて、http.cの基本コードを完了しました。永続的な接続を扱うとき、私は正しいタイミングでリソースを閉鎖し、解放することに成功しました。最初は、接続を閉じることでメインプログラムを終了するシンプルなサーバーを作成しようとしましたが、いくつかの問題がありました。ストリーミングを使用してデータのブロックを送信しようとしましたが、機能している間、これによりメインスレッドがブロックされます。最終的に、私の目標はC言語を深く学ぶことではなかったので、このアプローチをあきらめることにしました。最後に、i

C言語は0から始まります C言語は0から始まります Apr 03, 2025 pm 08:24 PM

C言語学習を始めるのは少し難しいかもしれませんが、正しい方法を習得した後、基本をすばやくマスターして徐々にマスターします。このガイドでは、基本から高度なトピックまで、C言語のコアコンセプトを学ぶために段階的にガイドします。ディレクトリC言語の基本とデータ型ユーザー入力条件式省略略語スイッチステートメントC言語配列ネストされたループC言語関数構造ポインターC言語の基本とデータ型Cプログラムは標準構造に従い、複数のデータ型を使用して変数を定義します。基本的なプログラム構造は次のとおりです。#includeintmain(){printf( "hello、world!"); ret

See all articles