作者giveatry (new life)
看板C_and_CPP
標題[問題] ++運算符號實際運作的時機?
時間Sat Jun 27 15:51:43 2009
#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
1F:推 POSIX:你的c只是一個pointer 06/27 15:55
2F:→ james732:c++ ==> 1 + 1 * sizeof(int *) ==> 5 06/27 16:05
3F:→ giveatry:我主要有兩個問題,第一個就是在第一個printf裡,那個1是 06/27 16:10
4F:→ giveatry:怎麼來的?第二個問題二樓大大已解答,謝謝 06/27 16:10
5F:→ james732:第一個問題就是 c++ 與 ++c 的分別 弄清楚就懂了 06/27 16:16
6F:→ giveatry:謝謝樓上大大,那++c似乎是比較好的用法。請問一下什麼時 06/27 16:23
7F:→ giveatry:候會用到c++這種用法呢(先取值再運算)? 06/27 16:23
8F:→ MOONRAKER:當需要先取值再運算的時候就會用到了。 06/27 19:21
9F:推 VictorTom:第一個問題的1怎樣來的, 不就是一開始int *c = 1;來的XD 06/27 22:06