[解決済み] forループの中で複数の条件を指定することはできますか?
2022-02-17 03:13:12
質問
次のコードは、エラーや警告を出さずに実行されます。
#include<stdio.h>
int main(){
int i, j;
int p = 0, q = 2;
for(i = 0, j = 0; i < p, j < q; i++, j++){
printf("HelloWorld\n");
}
return 0;
}
ただし、本 Let Us C(ヤシュワント・カネトカール) には、forループのtest式は1つしか使えないと書いてあります(同書115ページ参照)。
規格がよくわからないのですが。forループのテスト式に複数の式が許されるのでしょうか?
EDIT : 確かに2つの式を結合することはできるのですが、この上で上記のコードを見つけたときは唖然としました。 ウェブサイト . 私の質問は、これは有効なCコードなのかどうかということです。
解決方法は?
条件
i < p, j < q
の結果を返してしまうので、おそらく意図したものではありません。
j < q
だけです。 その
カンマ演算子
はカンマの左側の式を評価し、それを破棄して右側の式を評価し、それを返します。
複数の条件についてテストしたい場合は、論理 AND 演算子を使用します。
&&
代わりに
i < p && j < q
関連
-
[解決済み] [Solved] なぜこのようなエラーが発生するのでしょうか。「データ定義に型またはストレージクラスがない」?
-
[解決済み】ヒープ割り当てで初期化されていない値が作成された
-
[解決済み】警告:引数「互換性のないポインタ型から」を渡す[デフォルトで有効]。
-
[解決済み】makefile:4。*** missing separator. 停止する
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] 配列の反復処理に "for...in "を使用するのは、なぜ良くないのでしょうか?
-
[解決済み] Javaでenumを繰り返し処理するためのforループ
-
[解決済み] ( for... in ) と ( for... of ) の文の違いは何ですか?
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
-
[解決済み】なぜこれらのコンストラクトはプリインクリメントとポストインクリメントを使用して未定義の動作をしているのでしょうか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「ポインタから異なるサイズの整数へのキャスト」エラーが発生するのはなぜですか?
-
[解決済み】単項演算子「*」の型が無効(「int」がある)C言語でのエラー
-
[解決済み】"Expected expression before ' { ' token"(トークンの前に期待される式)。
-
[解決済み] clang: error: linker command failed with exit code 1が表示されるのはなぜですか?
-
[解決済み】cudamalloc()の使用。) なぜダブルポインタなのか?
-
[解決済み] テスト
-
[解決済み】エラー。非スカラー型への変換を要求された
-
[解決済み】EAGAINとはどういう意味ですか?
-
[解決済み】警告:組み込み関数'printf'の非互換な暗黙の宣言(デフォルトで有効]
-
[解決済み】 「配列のイニシャライザーはイニシャライザーリストまたは文字列リテラルでなければなりません」と表示されるのですが?