n與n有什麼區別

時間 2021-05-07 20:00:27

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 二氧化氮與四氧化二氮混合而...