在c語言裡在前與在後的區別,在C語言裡在前與在後的區別?

2021-03-03 23:49:12 字數 5028 閱讀 2056

1樓:憵潰曙汨

關於你上面那道題答案的解釋: 首先:我敢確認你的答案八成是抄錯了,因為p的值應為6。

第二點:++不管在前在後都只能讓i自增1。 那麼下面我們來將你那個例子改一下:

int p,i=2; p=i+(++i+(i++))+i;//上式你說現在的p和i分別是多少呢?答案:i=4;p=12; 首先i=4,說明i之前只增加了2次,即++i和i++ 第二點:

p=12而你上面p=++i+(i++)(p=6),只不過多加了二個i而p值就增加了一倍。我這時想會不會和加的i順序有關結果我將i放了好幾個不同的位置,可結果都一樣。 最後一次我將它這樣放置:

p=++i+(i++)+i+i=12與p=++i+(i++)=6 比較得出這時的i為3,最後的輸出i為4.這樣規律就出來了 結論:首先++、--的執行單位是以一個;結尾的語句,當算表示式時首先算裡面帶有的(i)++(i)、(i)--(i)的運算式,得出當前的i值(如果運算子在前就先將i的值改變,如果i在後就先不改變i的值,等到以一個;結尾的本條語句執行完後再將i的改變),將最後得出i值全部賦給運算式中的i,最後再按運算子的結合性做運算。

如: int p,i=2; int p=i+(++i)+i++; //首先算i值,在這一句:++i---->i=3,i++---->i=3(i不改變) //再將i值用i=3替換掉:

即p=3+3+3; //再做運算將p算出:p=9; //這句執行完後再將i+1--->i=4

在c語言中,++放在前面和後面有什麼區別?

2樓:gta小雞

++在變數前:表示式的結果為變數的當前值+1++在變數後:表示式的結果為變數的當前值

例如有int a = 2,則表示式++a的值為3,表示式a++的值為2。

這兩個表示式求值完畢後,a的值均會變為3。

3樓:匿名使用者

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

4樓:運命に抗

++在前是先加1在運算, 在後面是先運算在加1例子如下。

int i=0;

printf("%d",++i);i加了1才給傳遞引數,所以輸出是1i=0;

printf("%d",i++)前傳遞引數,所以還是輸出原來的值是0printf("%d,i) 因為上面那句加了1所以 輸出是1

5樓:匿名使用者

舉個例子吧,

int x,y;

x=1;

y=x++;

執行y=x++後,y的值是1,x的值為2;若改成y=++x,執行後y的值為2,x的值為2.

總結說來就是++在前的話用的是加一後的值,++在後的話先用原值再加一。

6樓:董俊錕

分兩種情況

【1】 作為單獨的語句 i++; ++i; 沒區別【2】 在賦值輸出等語句中,++放在前面, 先自加,然後在做其他的操作語句

++放在後面則是 先執行其他的操作,後自加

c語言中的"++在前"和"++在後"的區別是什麼?

7樓:運命に抗

++在前是先加1在運算, 在後面是先運算在加1例子如下。

int i=0;

printf("%d",++i);i加了1才給傳遞引數,所以輸出是1i=0;

printf("%d",i++)前傳遞引數,所以還是輸出原來的值是0printf("%d,i) 因為上面那句加了1所以 輸出是1

在c語言中,++放在前面和後面有什麼區別?詳細解釋please

8樓:董俊錕

分兩種情況

【1】 作為單獨的語句 i++; ++i; 沒區別【2】 在賦值輸出等語句中,++放在前面, 先自加,然後在做其他的操作語句

++放在後面則是 先執行其他的操作,後自加

9樓:匿名使用者

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

10樓:醉夢清楓

單獨使用無區別

在式子中使用的話

sum+=++i;這個是先對i進行自增1,再加到sum上,等同於:i+=1;sum+=i;

sum+=i++;這個是先把i加到sum上,再把i進行自增1,等同於:sum+=i;i+=1;

11樓:匿名使用者

如果p = 0;if(++p)時,p先加1,再進行if判斷,結果為真;如果是if(p++),則先使用p進行判斷,再對p加1,即,結果為假,但是執行完成後,p都為1

12樓:匿名使用者

b = ++a;

在前面的,先執行自增,也就是a = a+1;執行完再運算本行其他操作,即b = a;

b = a++;

則先運算本行其他操作,b = a;再執行自增 a = a + 1;

ps:一般不推薦一個表示式內有多個++a或者a++,一般只有一個,或者沒有。多個自增在一起,有時候存在歧義,在不同編譯器可能會出現不同結果

13樓:妙趣衡生

++i,先執行自加

++i,後執行自加

比如:j=i++,就是j=i之後,i=i+1j=++i,就是i=i+1之後,j=i

14樓:匿名使用者

符號放在前面需要先+1再賦值,放在後面則剛剛相反即先賦值再+1

15樓:小不點

放在前面相當於先給本身賦值了再運算

後面是先運算了再加

16樓:

放在前面:運算前加,後面:運算後加

17樓:勿戀勿忘

++在前為前增 右邊的變數先自增再將變化後的變數值賦值給左邊的變數,後增先講右邊的變數的值賦給左邊,然後右邊的變數再自增

18樓:匿名使用者

i++簡單的說就是先用i的值再加一,++i是i的值先加一再用

*在前面和*在後面的區別c語言

19樓:匿名使用者

在前面表示取這個地址所指向的值,如果在運算元後面一般就表示乘法把。

20樓:匿名使用者

在前面表示這是一個指標,在後面表示乘號

c語言問題++和--放在變數前後區別

21樓:

在一個函式

內部說明的變數是內部變數,它只在該函式範圍內有效。 也就是說,只有在包含變數說明的函式內部,才能使用被說明的變數,在此函式之外就不能使用這些變數了。所以內部變數也稱「區域性變數」。

而外部變數 在函式外部定義的變數稱為外部變數。以此類推,在函式外部定義的陣列就稱為外部陣列。 外部變數不屬於任何一個函式,其作用域是:

從外部變數的定義位置開始,到本檔案結束為止。 外部變數可被作用域內的所有函式直接引用,所以外部變數又稱全域性變數。

c語言++放在前面和後面的區別分析

22樓:匿名使用者

++在前是先加1在運算, 在後面是先運算在加1 例子如下。 int i=0; printf("%d",++i);i加了1才給傳遞引數,所以輸出是1 i=0; printf("%d",i++)前傳遞引數,所以還是輸出原來的值是0 printf("%d,i) 因為上面那句加了1所以 輸出是1

23樓:

int main()

單獨一句,無區別;作為引數就有區別。

24樓:大大的輔導輔導

u表示該常數用無符號整型方式儲存,相當於unsigned int;l表示該常數用長整型方式儲存,相當於longf表示該常數用浮點方式儲存,相當於float

c語言感嘆號在前在後有區別?

25樓:匿名使用者

c語言中感嘆號在前表示取非,非真為假,非假為真,感嘆號沒有在後面吧,如果在後應該是和等號一起連用,比如a!=b表示a不等於b為真,否則為假,數學上如10!表示10的階乘,但在c語言中不能直接這麼用。

c語言 自加在前面和在後面有什麼區別

26樓:匿名使用者

在前面是該語句執行前就自加,後面是該語句執行完才自加

27樓:愛々勿々醉

i++表示先使用i的值,然後再++

比如a=i++

則表示a = i ; i++;

++i表示先讓i進行+1操作,然後再使用i比如a = ++i

則表示 i++; a = i;

28樓:ai看雪

看一下這個回答,我不想再敲一遍了

29樓:追夢追夢

++1執行後等於2

1++執行後等於1

c語言a與65的區別,C語言中a與a的區別是什麼?詳細一點,謝謝!

你這道題到底是想幹嘛?首先沒講明白程式的目的。看起來像是想進行大小寫轉換。看起來好像沒什麼錯誤。如果確實有錯誤的話,那估計是s字串沒有進行初始化。在gets之前加一句 memset s,0,sizeof s 檔案開頭加一句 include 哦!還有一個,是小寫字母的時候,要用減32,大寫字母的時候,...

c語言自加在前面和在後面有什麼區別

在前面是該語句執行前就自加,後面是該語句執行完才自加 i 表示先使用i的值,然後再 比如a i 則表示a i i i表示先讓i進行 1操作,然後再使用i比如a i 則表示 i a i 看一下這個回答,我不想再敲一遍了 1執行後等於2 1 執行後等於1 在c語言中,放在前面和後面有什麼區別?詳細解釋p...

c語言 內容如下,c語言中 與 的區別

因為如果沒有換行符號,這兩個printf在一行連續輸出 你在printf i am a computer n 加上一個換行符就可以讓這一句單獨一行了 求c語言 設計一個選單程式,包括3項內容如下,1 單日票 2 聯票 0 退出 include include void fun1 void void ...