C言語なら俺に聞け 163 (977レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

966: はちみつ餃子◆8X2XSCHEME (ワッチョイ 0732-geQ+) [sage] 2025/07/24(木) 12:40:38.15 ID:QLFMUI9/0(1/2) AAS
C99 だと 6.5 に書いてある制約だ。 (以下は JIS からの抜粋)

> 直前の副作用完了点から次の副作用完了点までの間に,
> 式の評価によって一つのオブジェクトに格納された値を変更する回数は,
> 高々1回でなければならない。
> さらに,変更前の値の読取りは,格納される値を決定するためだけに行われなければならない。

この後段の部分が分かり難いんだが脚注に例がある。

> この段落の規定によると,
>  i = i + 1;
>  a[i] = i;
> は許されるが,
>  i = ++i + 1;
>  a[i++] = i;
> は,未定義の式文である。

ちなみに C では「〜しなければならない」という表現はそれを守っていないプログラムの挙動は未定義という意味。
968: はちみつ餃子◆8X2XSCHEME (ワッチョイ 0732-wrhS) [sage] 2025/07/24(木) 21:58:08.95 ID:QLFMUI9/0(2/2) AAS
ひとつの単純な背景として昔は画面が狭かったということがある。
無理に詰め込んででもひとつの画面内で多くを見れるほうが可読性が高かった。
C が最初に登場した頃ならまだテレタイプ端末もそれなりに使われていたかな。
今ではあえて詰め込む必要はもう無いし、結局は時流に合わせるしか仕方がないのだが……何十年も前のコードを読む機会もあるのが C という言語なので普段は使わなくても知識として持っておくに越したことはないよ。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.457s*