Re: [問題] while(*s++ = *t++ );疑問
剛剛查了一下優先順序
Suffix increment > Indirection (dereference) > Direct assignment
++ (第2個) > *(第3) > =(第16)
所以我想問一下為什麼不是++先做
而是取值和賦値先
也就是為什麼不是底下這樣
while (*t)
{
s++;
t++;
*s=*t
}
另外我對那種多個的Condition判斷疑惑很久了
(不知道有沒有術語,想下關鍵字查一下)
while(*s++ = *t++)
是要看*s的値,還是*t的値 (以程式邏輯來猜應該是*t)
(原文中兩種都有人回)
還是要看 賦値的回傳結果?
另外我看過3個的...
類似底下這樣
while(*s++ = *t++ = *q++)
不過那時候不影響我讀code就不管它
※ 引述《BitTorrent (螳勃唬)》之銘言:
: 請問一下
: strcpy 中
: while( *s++ = *t++);
: 可以copy char arrays
: 想請問一下可是++ 優先權 不是大於*
: 所以照理講第一個不會被複製到阿?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.176.98
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1435495229.A.1D2.html
推
06/28 20:42, , 1F
06/28 20:42, 1F
→
06/28 20:43, , 2F
06/28 20:43, 2F
→
06/28 20:45, , 3F
06/28 20:45, 3F
→
06/28 20:49, , 4F
06/28 20:49, 4F
推
06/28 21:33, , 5F
06/28 21:33, 5F
→
06/28 21:34, , 6F
06/28 21:34, 6F
→
06/28 21:35, , 7F
06/28 21:35, 7F
→
06/29 22:03, , 8F
06/29 22:03, 8F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章