[過去ログ]
C言語なら俺に聞け 163 (1002レス)
C言語なら俺に聞け 163 http://mevius.5ch.net/test/read.cgi/tech/1721137434/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
959: デフォルトの名無しさん (ワッチョイ bf5f-cpV+) [] 2025/07/23(水) 20:55:02.21 ID:e3NYz5GR0 #include <stdio.h> int main(void){ int i = 0; char str1[] ="abcd"; char str2[] = "12,"; //while((str1[i] = str2[i++]) != ','){} while((str1[i] = str2[i]) != ','){i++;} printf("%s¥n",str1); } 普通こう書くだろ.clangだと 1.c:6:24: warning: unsequenced modification and access to 'i' [-Wunsequenced] 6 | while((str1[i] = str2[i++]) != ','){} | ~ ^ 1 warning generated. と怒られるわ. http://mevius.5ch.net/test/read.cgi/tech/1721137434/959
960: デフォルトの名無しさん (ワッチョイ ff44-k2hJ) [] 2025/07/23(水) 21:22:42.87 ID:+gAzCYHm0 >>959 ありがとうございます。 書き込み後、演算子の優先順位について調べたところむしろ後者の方が正しいっぽいことがわかりました。 またコンパイラ時に-Wallオプションをつけると前者ではwarning: operation on 'i' may be undefined [-Wsequence-point]という警告が出ました。 色々調べた結果面倒くさいので言われた通りwhileの条件式内で安易に++と使わないという結論に至りました。 皆様ありがとうございました! http://mevius.5ch.net/test/read.cgi/tech/1721137434/960
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.028s