・私が書いたコードのfor文中のbreakがどのような意味を成しているのか
プログラミング初心者です。atcoderの練習問題「N 個の整数 A1,A2,⋯,ANの中に整数Xが含まれるかどうかを判定するプログラムを作成してください。(制約)N は1以上100以下の整数Xは1以上100以下の整数A1,A2,⋯,ANは1以上100以下の整数」をvisual studioで解いていました。以下のソースコードは私の解答なのですが、このまま「ビルド」をしてもエラーは表示されないのですが、「デバックなし」で実行するとすべて「no」と表示されてしまいます。試しに、以下のソースコードのfor文中の「break;」をコメントアウトすると上手く動作するようになりました。なぜ「break;」を無くすと上手く動作したのか教えてほしいです。因みに、私がbreakをfor文中に入れた理由は、問題文が「整数XがN個の整数ANに含まれているか」で、仮にAN中にXが複数存在しても一つ見つければいいので効率を考えてbreakを入れました。
該当のソースコード
C言語
1ソースコード 2#include<stdio.h> 3int main(void) { 4 5 int N, X; 6 int K[101]; 7 int B = 0; 8 9 scanf_s("%d", &N); 10 scanf_s("%d", &X); 11 12 for (int i = 0; i < N; i++) { 13 scanf_s("%d", &K[i]); 14 if (K[i] == X) 15 B = 1; 16 break; 17 18 } 19 20 if (B == 1) 21 printf("yes \n"); 22 else 23 printf("no \n"); 24 25 return 0; 26 27} 28 29### 試したこと 30 31ソースコードのfor文中のbreakを消した 32 33### 補足情報(FW/ツールのバージョンなど) 34C言語(visual studio2022 バージョン17.14.7)

回答4件
あなたの回答
tips
プレビュー