C言語なら俺に聞け 163 (987レス)
上下前次1-新
抽出解除 レス栞
632(1): 警備員[Lv.5][新芽] (ワッチョイ 8713-tGgj) [sage] 2025/02/11(火) 01:04:37.69 ID:nkHTE6y60(2/2) AAS
>>627627(4): デフォルトの名無しさん (ワッチョイ 6a56-WFrT) [] 2025/02/10(月) 16:46:22.93 ID:xKid5uSQ0(1) AAS
よく分からないがこうなる理由が分からないという意味の質問かな?
まあそうだとして、C言語では異なるオブジェクトへのポインタを比較出来ないってルールがある
それが行われているので、未定義の動作といってこのプログラムではコンパイラがどんな事をしてもいいことになってる
そのどんな事の中にはnot equalを表示するという動作も含まれているので、たまたまそうなったんでしょう
初心者がよくやるFAQレベルのミスなので、ポインタとオブジェクトを理解する意味でその辺も読んでみればもっと上達するでしょう
他にもヘンな部分があるので色々他の人のコードとかも読むといいね
がいうことがそれなのか
未定義だと
アセンブラ脳だと同じとみなしてくれてよさそうだけど、難しいね…
634(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ ff32-DO7v) [sage] 2025/02/11(火) 11:05:12.56 ID:0+q77CUl0(1/2) AAS
>>632
強調しておくけど未定義は何が起こってもよい。
この場合は一応は式が式として評価されたかのように動作してるので比較的マシな部類で、未定義を踏んでいる箇所とは遠く離れた箇所で意味不明の動作が起こることもある。(起こってもよい。)
低レイヤから入った人は未定義をナメてることが結構あるとは思う。
どのような機械語にコンパイルされるか想像できる (と本人は思っている) 故の弊害だなぁ。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.306s*