[問題] ++運算符號實際運作的時機?

看板C_and_CPP作者 (new life)時間16年前 (2009/06/27 07:51), 編輯推噓2(207)
留言9則, 5人參與, 最新討論串1/3 (看更多)
#include <stdio.h> int main(){ int* c = 1; printf("c++ is %d\n", c++); printf("c is %d\n", c); return 0; } 印出來的結果 c++ is 1 c is 5 為什麼會這樣呢ꄊ謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.137.38.159

06/27 15:55, , 1F
你的c只是一個pointer
06/27 15:55, 1F

06/27 16:05, , 2F
c++ ==> 1 + 1 * sizeof(int *) ==> 5
06/27 16:05, 2F

06/27 16:10, , 3F
我主要有兩個問題,第一個就是在第一個printf裡,那個1是
06/27 16:10, 3F

06/27 16:10, , 4F
怎麼來的?第二個問題二樓大大已解答,謝謝
06/27 16:10, 4F

06/27 16:16, , 5F
第一個問題就是 c++ 與 ++c 的分別 弄清楚就懂了
06/27 16:16, 5F

06/27 16:23, , 6F
謝謝樓上大大,那++c似乎是比較好的用法。請問一下什麼時
06/27 16:23, 6F

06/27 16:23, , 7F
候會用到c++這種用法呢(先取值再運算)?
06/27 16:23, 7F

06/27 19:21, , 8F
當需要先取值再運算的時候就會用到了。
06/27 19:21, 8F

06/27 22:06, , 9F
第一個問題的1怎樣來的, 不就是一開始int *c = 1;來的XD
06/27 22:06, 9F
文章代碼(AID): #1AHS-GYY (C_and_CPP)
文章代碼(AID): #1AHS-GYY (C_and_CPP)