Re: [FAQ&FME] C 語言新手十誡
※ 引述《khoguan (Khoguan Phuann)》之銘言:
: ※ 引述《cppguide (洗屁屁)》之銘言:
: : i=squared(++x);
: : 展開隻如下
: : i=++x*++x-++x*++x
: : 再加上運算優先括號
: : i=[(++x*++x)-(++x*++x)]
: : 又運算方向為由左至右,因此
: : i=[(++x*++x)-(++x*++x)]
: : 4 5
: : 遇到)時做*運算 此時x=5
: : 所以為 5*5=25
: : 再來做第2個()運算,即
: : i=[25-(++x*++x)]
: : 6 7
: : 遇到)時做*運算 此時x=7
: : 所以為 7*7=49
: : 最後再做[]中的-運算
: : i=[25-49]=-24
: 唉,要瞭解「十誡」的真諦是很不容易的。
: 請容我再重述其中與上述問題相關的一條:
: 「你不可以在一個運算式(expression)中,對一個基本型態的變數
: 修改其值超過一次以上。」
: 否則,將導致未定義的後果(undefined behavior).
可以請問一下這一條規定 源自那嗎?
我的K&R那本書找不到耶!!!
是在C99中的新的規定嘛 or ............
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.131.137.219
推
219.84.44.21 08/29, , 1F
219.84.44.21 08/29, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 12 之 14 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章