[解決済み] 中括弧のないforループは何をするのですか?
2022-02-14 05:48:51
質問
こんにちは、基本的に私の質問は、中括弧で囲まれていないforループは何をするのでしょうか?私が知っている限りでは、ifステートメントの間、コードの最初の行だけが実行されます。では、forループではどのように動作するのでしょうか?中括弧のないループと中括弧のあるループの概念がよくわからないのです。コードで説明してもらえると助かります。ちなみにこれはC言語です。以下、参考までに私が見てきたコードです。
int main(int argc, char* argv[])
{
int i;
int count = 0;
for (i = 0; i < 5; i++)
count++;
printf("The value of count is: %d\n", count);
return 0;
}
この場合、中括弧がないので、i < 5 まで最初の文を反復し続け、i が 5 より小さくなければ何もしないと思っているのですが、コードをテストしてみると、printf 文も出力して終わってしまいます。中括弧のないループは最初の1行だけを実行するのでは?それとも、私はここで何かを見逃しているのでしょうか?
解決方法は?
中括弧がない場合、ループ定義に続く最初の文のみがループ本体に属するとみなされます。
あなたの例で注目してください。
printf
は一度だけ呼び出されます。インデントが前の行と一致していても、それは冗長で、Cは気にしません。私が言いたいのは、このコードを書いた人はおそらく中括弧を忘れてしまったのだろうということです。
意図した
は
printf
文は、ループ本体の一部である。
中括弧を省くのは、一行で書くときだけです。
if
ステートメントを使用します。
if (condition) statement;
do_something_else();
ここでは、2行目のステートメントが本当に
if
. これを読めば、意図したとおりに動いていると確信できるかもしれませんね。
関連
-
[解決済み】変数の警告が設定されているが使用されていない
-
[解決済み】strcmpが機能しない
-
[解決済み】"Expected expression before ' { ' token"(トークンの前に期待される式)。
-
[解決済み】式は変更可能なL値でなければならない
-
[解決済み】0LLや0x0ULの意味は何ですか?
-
[解決済み] エラー: `itoa` はこのスコープで宣言されていません。
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み] Javaでenumを繰り返し処理するためのforループ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Cコンパイルエラー。"変数サイズのオブジェクトが初期化されていない可能性がある"
-
[解決済み】「ポインタから異なるサイズの整数へのキャスト」エラーが発生するのはなぜですか?
-
[解決済み】valgrind - サイズ8のブロックが割り当てられた後、アドレス ---- が0バイトになる。
-
[解決済み】GCC Cコードで静的宣言が非静的宣言に続くことを解決するには?
-
[解決済み】サイズ8の無効な読み取り - Valgrind + C
-
[解決済み] C: エラー: ';'トークンの前に ')' があると予想される
-
[解決済み】警告:引数「互換性のないポインタ型から」を渡す[デフォルトで有効]。
-
[解決済み】スタックスマッシュを検出しました
-
[解決済み】Makefile:1: ***セパレータがありません。停止します。
-
[解決済み】whileループの時間複雑性(Big O)はどうやったらわかるの?