1樓:匿名使用者
在前面是該語句執行前就自加,後面是該語句執行完才自加
2樓:愛々勿々醉
i++表示先使用i的值,然後再++
比如a=i++
則表示a = i ; i++;
++i表示先讓i進行+1操作,然後再使用i比如a = ++i
則表示 i++; a = i;
3樓:ai看雪
看一下這個回答,我不想再敲一遍了
4樓:追夢追夢
++1執行後等於2
1++執行後等於1
在c語言中,++放在前面和後面有什麼區別?詳細解釋please
5樓:董俊錕
分兩種情況
【1】 作為單獨的語句 i++; ++i; 沒區別【2】 在賦值輸出等語句中,++放在前面, 先自加,然後在做其他的操作語句
++放在後面則是 先執行其他的操作,後自加
6樓:匿名使用者
i++是先賦值再計算
++i是先計算再賦值
可以簡單理解成前++優先順序高,後++優先順序最低於是有:
如:i=1 (i++)+(++i)+i
運算順序從左到右
先算第一個括號裡的i++。先賦值則1=(i++),原式變為 1+(++i)+i。再計算後++ ,i=2。
算第二個括號裡的++i。先計算 ,i=3。再賦值則3=(++i),原式變為 1+3+i。
最後就得到原式變為1+3+3=7,i=3
7樓:醉夢清楓
單獨使用無區別
在式子中使用的話
sum+=++i;這個是先對i進行自增1,再加到sum上,等同於:i+=1;sum+=i;
sum+=i++;這個是先把i加到sum上,再把i進行自增1,等同於:sum+=i;i+=1;
8樓:匿名使用者
如果p = 0;if(++p)時,p先加1,再進行if判斷,結果為真;如果是if(p++),則先使用p進行判斷,再對p加1,即,結果為假,但是執行完成後,p都為1
9樓:匿名使用者
b = ++a;
在前面的,先執行自增,也就是a = a+1;執行完再運算本行其他操作,即b = a;
b = a++;
則先運算本行其他操作,b = a;再執行自增 a = a + 1;
ps:一般不推薦一個表示式內有多個++a或者a++,一般只有一個,或者沒有。多個自增在一起,有時候存在歧義,在不同編譯器可能會出現不同結果
10樓:妙趣衡生
++i,先執行自加
++i,後執行自加
比如:j=i++,就是j=i之後,i=i+1j=++i,就是i=i+1之後,j=i
11樓:匿名使用者
符號放在前面需要先+1再賦值,放在後面則剛剛相反即先賦值再+1
12樓:小不點
放在前面相當於先給本身賦值了再運算
後面是先運算了再加
13樓:
放在前面:運算前加,後面:運算後加
14樓:勿戀勿忘
++在前為前增 右邊的變數先自增再將變化後的變數值賦值給左邊的變數,後增先講右邊的變數的值賦給左邊,然後右邊的變數再自增
15樓:匿名使用者
i++簡單的說就是先用i的值再加一,++i是i的值先加一再用
c語言中自加自減運算子前後位置的區別
16樓:匿名使用者
嗯,自加(自減)從結果上來看都是加1(減1),這點肯定沒錯。但是用在表示式中就會有差別了,拿你的例子來說i=5,如果執行下面的語句:
int b = i++;
結果b的值就是5,i的值變為6;
如果是b=++i
那麼b的值就是6,i的值也是6;
所以i++與++i使用在表示式中的時候的區別就是:前者是先使用i的當前值進行計算,再加1;而後者是先加1再進行計算,自減運算也是一樣的。
不知道我說的清楚不
17樓:du瓶邪
以自增運算子為例,當自增運算子++作用於一個變數時例如:當i=3時++i這個算術表示式的值為4,同時變數i的值也由原來的3改變為4。
一般情況下,計算表示式後不改變變數本身的值,而++運算子和--運算子組成的表示式計算後,則改變變數的值,這稱為運算子的***。
這類運算子在計算表示式時,一定要注意區分表示式的值和變數的值。
18樓:匿名使用者
如果是這樣,int,i=5 , j=6 , n
n=i*j 如果是i++那n=31,如果是++i就是36,i++是先運算再自曾,相反先自增在運算,i--相同。
c語言裡自加++和自減——放變數前和變數後有什麼不同作用啊,分別怎麼計算的?
19樓:匿名使用者
運算子在前,表示運算在前取值在後;運算子在後,表示運算在後取值在前c語言是程序式程式設計語言。不同於「純」函數語言程式設計語言,c語言的表示式可以改變變數的值或外部狀態,這被稱為表示式的「***」(side effect)。++i 就是含有***的表示式,在對 ++i / --i 這樣的字首運算子(prefix increment and decrement operators)求值的過程中,按定義發生了以下兩步
改變變數 i 的值
確定運算結果是變數 i 改變後的值
而在對 i++ / i-- 這樣的字尾運算子(postfix increment and decrement operators)求值的過程中,則是以下兩步
確定運算結果是變數 i 的值(此時 i 的值還沒有改變)改變變數 i 的值
20樓:匿名使用者
跟優先順序有關係例如 int a = 1;int b = a++,b就是等於1如果int b = ++a,b就是等於2因為=號的優先順序要高於++,--
21樓:匿名使用者
++(--)放在變數前是先自增(減)再引用反之就是先引用再自增(減)
在c語言中,++放在前面和後面有什麼區別?
22樓:gta小雞
++在變數前:表示式的結果為變數的當前值+1++在變數後:表示式的結果為變數的當前值
例如有int a = 2,則表示式++a的值為3,表示式a++的值為2。
這兩個表示式求值完畢後,a的值均會變為3。
23樓:匿名使用者
i++是先賦值再計算
++i是先計算再賦值
可以簡單理解成前++優先順序高,後++優先順序最低於是有:
如:i=1 (i++)+(++i)+i
運算順序從左到右
先算第一個括號裡的i++。先賦值則1=(i++),原式變為 1+(++i)+i。再計算後++ ,i=2。
算第二個括號裡的++i。先計算 ,i=3。再賦值則3=(++i),原式變為 1+3+i。
最後就得到原式變為1+3+3=7,i=3
24樓:運命に抗
++在前是先加1在運算, 在後面是先運算在加1例子如下。
int i=0;
printf("%d",++i);i加了1才給傳遞引數,所以輸出是1i=0;
printf("%d",i++)前傳遞引數,所以還是輸出原來的值是0printf("%d,i) 因為上面那句加了1所以 輸出是1
25樓:匿名使用者
舉個例子吧,
int x,y;
x=1;
y=x++;
執行y=x++後,y的值是1,x的值為2;若改成y=++x,執行後y的值為2,x的值為2.
總結說來就是++在前的話用的是加一後的值,++在後的話先用原值再加一。
26樓:董俊錕
分兩種情況
【1】 作為單獨的語句 i++; ++i; 沒區別【2】 在賦值輸出等語句中,++放在前面, 先自加,然後在做其他的操作語句
++放在後面則是 先執行其他的操作,後自加
c語言中的"++在前"和"++在後"的區別是什麼?
27樓:運命に抗
++在前是先加1在運算, 在後面是先運算在加1例子如下。
int i=0;
printf("%d",++i);i加了1才給傳遞引數,所以輸出是1i=0;
printf("%d",i++)前傳遞引數,所以還是輸出原來的值是0printf("%d,i) 因為上面那句加了1所以 輸出是1
為什麼汽車的發動機在前面,油箱在後面
因為發動機在前面,車輛在行駛時可以藉助速度給發動機降溫,這是一點,油箱在後面,因為不能離發動機太近了,特別在夏天,發動機有較高的溫度,很危險的。這裡涉及到四種汽車的驅動方式,即前置後驅 前置前驅 中置後驅 後置後驅的。隨著汽車的發展,汽車發動機的佈局根據實際的優缺點進行了多種改變。後置後驅佈局並不是...
夢到老公在前面走我和孩子在後面追
夢是願望隱晦表達,你這個夢其實是你的潛意識讓你打消買你想買的車的願望,因為你很想買,但你的經濟情況又不能買,你的潛意識接受到了你的想法,幫你找了個理由,這樣你有理由不買好車了。夢就是幫助你的助手,雖然這個助手好幼稚 夢見孩子在前面跑,自己在後面老追不上 這就是日有所思,夜有所夢啊,他再前跑,你在後追...
女生走在前面,而喜歡她的男生走在後面,女生髮現了他
我感覺這故事跟我一個朋友很像。那個女生肯定喜歡那個男生的,所以故意放慢腳步。姑娘正在從包裡頭掏磚頭。她到目的地了,準備減速靠邊停車。應該是女生也對該男生也有好感吧,不然早就加快步伐跑掉提交回答了。是因為女生想和他在一起的時間多一點,也許女生認為這樣有安全感 一個女生走在前面,而一個喜歡她的男生走在後...