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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

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

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

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

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

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

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