1樓:
1、沒有區別。
2、n++是先使用n的數值再自加一; ++n是先自加一再使用n累加後的數值;
3、作為for語句括號內的第三項,是在每次for迴圈之後做的累加,n++與++n的作用都是使n的數值增一,不牽扯到引用自加前還是自家後數值的問題,所以二者在for語句中沒有區別。
無論前置還是後值,++ 都會使其運算元的值增 1。不同的是,++ 前置時,自增表示式(如 ++n)的值等於其運算元自增後的值;++ 後置時,自增表示式(如 n++)的值等於其運算元自增前的值。例如:
int n = 5, post = 1, pre = 1;
pre = ++n + pre; // 運算結束後 pre 為 7,n 為 6
n = 5;
post = n++ + post; // 運算結束後 post 為 6,n 為 6
上例中,++n 的值等於 n 自增後的值,即 6,所以 pre 最後得到的值為 7。n++ 的值等於 n 自增前的值,即 5,所以 post 最後得到的值為 6。
不管n++還是++n,【n都要自身加1】,但是如果是n++,則返回值為舊值,如果是++n,則返回值為新值。
拓展資料:
2樓:候寒凝
++n <==> n自增1,值為新的n本身。是左值。
n++ <==> n自增1,返回原來的n的值。是右值。
例: b=1; a = b++; // b = 2, a = 1 相當於 a=b; ++b;
b=1; a = ++b; // b = 2, a = 2 相當於 ++b; a=b;
b=1; b++ = a; // error 相當於 ++b; 1=a;
b=1; ++b = a; // b=a; 相當於 ++b; b=a;
在c中,做為單獨的表逹式語句,a++; 和 ++a;沒區別。
在c++中,由於可以過載運算子,二者可以當成兩個不同的操作。不過習慣上,仍遵循c的語意。所以b++會多出一個臨時物件。
3樓:匿名使用者
無論前置還是後值,++ 都會使其運算元的值增 1。不同的是,++ 前置時,自增表示式(如 ++n)的值等於其運算元自增後的值;++ 後置時,自增表示式(如 n++)的值等於其運算元自增前的值。例如:
int n = 5, post = 1, pre = 1;
pre = ++n + pre; // 運算結束後 pre 為 7,n 為 6
n = 5;
post = n++ + post; // 運算結束後 post 為 6,n 為 6
上例中,++n 的值等於 n 自增後的值,即 6,所以 pre 最後得到的值為 7。n++ 的值等於 n 自增前的值,即 5,所以 post 最後得到的值為 6。
4樓:位
n++,先執行,再加一
++n,先加一,再執行
比如:#include
main()
的執行結果就是 i=1
5樓:雨墨無痕
前加和後加的區別 n++是先把 n賦值給等號左邊的變數再加1 ++n是先把n+1再賦值給等號左邊
6樓:匿名使用者
*n=*n+1表示指標n所指的記憶體單元的內容加一,*n++表示n指向了下一個記憶體單元,而這個記憶體單元的內容是不可**的,當你輸出時會發現是個隨機數。如果想達到*n=*n+1相同的效果,可這樣寫(*n)++;這時結果相同了。其實這也只是算符優先差異所致,加個括號就ok了。
7樓:
沒有區別,只要不把n++, ++n的值賦給另一個變數(這種形式:a = n++ 或 a= ++n) , n++ 和 ++n是一樣的, 一樓說的不對, n++和++n迴圈後n都是6
8樓:飄渺孤舟
*n = *n+ 1 等同於(*n)++;表示把n指向的內容加一
*n++,由於++與*同優先順序,結合方向為自右而左,先得到
n指向的變數的值,n再加一,指向下一個單元。
9樓:法術大師巴林
n=1;
a=n++;
這時a=1,n=2,就是說n++是先返回n的值,再n自加一n=1;
a=++n;
這時a=2,n=2,就是說先n加一,再返回新的n一個記的技巧:++n就是先加,n++就是後加~很形象的
10樓:狐狸殤兒
n++是先用再加,++n是先加再用
11樓:匿名使用者
*n = j 是把 j 的值賦給指標 n 指向的空間. n = &j 是把變數 j 的地址賦給指標變數 n,n 就指向 j 的儲存空間了.
fun 裡面的 n 和 main 中的 n 是兩個不同的指標變數,但它們指向同一個地址,所以 *n = j,把 j 的值賦給函式裡面 n 指向的地方,由於 main 中的 n 也指向那個地方,所以對 main 中的值解析時就能拿到新值了。但 n = &j, 把 fun 裡面的 n 指向的地方改變了,變成 j 的地址了,這時 跟 main 中的 n 指向的地方不同,而 main 中的 n 指向的地方的值也沒變。。。
打了這麼多,好累啊,不知道你明白了沒。。。
c語言裡面 n++和++n有什麼不同?
c語言裡面 n++;和++n;有什麼不同?(回答簡短點)
12樓:才瑤弘風
這裡n++和++n效果是一樣的,因為這條語句的內容只有一個n++或是++n,因此只會對n本身造成+1的影響,而沒有其他影響。
13樓:風若遠去何人留
如果是單獨的一行
n++; 和++n;沒有區別。
如果是在其它表示式裡面,那麼
++n是先把n自加了,再算表示式
n++是先不管++ 算完表示式再自加。
14樓:蔡娟娟點
n++先賦值,後自加;
++n先自加,後賦值;
n=1;
若x=n++;則執行完了則x=1,n=2;
若x=++n;則執行完了x和n都為2.
DNA複製第n次與複製n次有什麼區別
竹林細雨 複製n次和第n次複製的區別 1 概念不同 複製n次是指持續操作複製這個功能。第n次複製是指第n次操作複製這個功能。2 表達的數字不同 複製n次的意思是多次,可能是一次也可能是兩次 三次甚至上百次等。第n次複製的意思是第幾次,是表達的具體的哪一次。複製,著作權法術語,指以印刷 影印 臨摹 拓...
N97i與N97mini有什麼區別?
就是螢幕小點,機子小點,n97自帶的32gb記憶體變成了8gb。和n97比就這麼點差別。n97mini 國美 蘇寧 實體店的 是 4000 可以還價的 迪信通 冠之林的話 可以便宜點 3950 歐酷手機網的行貨 是 3600左右 http f xt你可以參考下網上的 相對便宜點。n97i跟n97mi...
NO2和N2O4有什麼區別,No2與N2O4的顏色
像它 no 和n o 是共同存在的。因為兩者能互相轉化 2no n o 這個反應是可逆反應,所以no 氣體中一定有 n o 兩者都是氣體,區別是no 紅棕色,而n o 無色。一 no 二氧化氮 nitrogen dioxide 高溫下棕紅色有毒氣體。在常溫下 0 21.5 二氧化氮與四氧化二氮混合而...