[問題] C字串一問
剛剛在網路上看到一個東西
while(*s++ = *t++);
左思右思就是看不懂
後來查了一下,原來這種寫法等價於:
while(*t){
*s = *t;
s++;
t++;
}
*s = *t;
也是這時候才知道C字串有*s++這種寫法
但我還是有兩個問題
1.*s++這種寫法,迴圈似乎不用加入終止條件,是因為C字串中必定有'\0'嗎?
因為我另外還有查到C++中有這種寫法:
while(*s){
cout << *s++;
}
這是代表C/C++中只要在迴圈中遇到'\0'就會作為終止條件嗎?
2.雖然知道兩種寫法是相等的,但請問為何會是相等的?
背後的原理我實在想不透
--
標題 [洽特] 台灣雞翅國際股份有限公司??
這麼奇特的名字是怎麼來的呢? 有人有八卦嗎????
推
09/07 19:42,
09/07 19:42
推
09/07 19:48,
09/07 19:48
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.63.206.65
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1536227747.A.847.html
推
09/06 18:19,
5年前
, 1F
09/06 18:19, 1F
→
09/06 18:21,
5年前
, 2F
09/06 18:21, 2F
推
09/06 19:03,
5年前
, 3F
09/06 19:03, 3F
推
09/06 19:06,
5年前
, 4F
09/06 19:06, 4F
推
09/06 21:42,
5年前
, 5F
09/06 21:42, 5F
推
09/06 22:15,
5年前
, 6F
09/06 22:15, 6F
推
09/06 22:46,
5年前
, 7F
09/06 22:46, 7F
推
09/06 22:49,
5年前
, 8F
09/06 22:49, 8F
推
09/08 23:19,
5年前
, 9F
09/08 23:19, 9F
→
09/08 23:20,
5年前
, 10F
09/08 23:20, 10F
推
09/09 01:19,
5年前
, 11F
09/09 01:19, 11F
推
09/09 14:00,
5年前
, 12F
09/09 14:00, 12F
推
09/10 14:38,
5年前
, 13F
09/10 14:38, 13F