C語言中m 跟 m的區別。。有圖要解

2021-03-27 18:59:00 字數 4579 閱讀 3478

1樓:匿名使用者

的確與編譯器有關啊:我執行程式的結果是i,j最後都是8,p是15,q是22,有圖有真相:

2樓:匿名使用者

i++:i增加一而不影響計算結果:

++i:i增加一且q加一,會影響計算結果:

3樓:雲飛_天下

m++在分號以前m的值都是沒有自增前的值,在分號以後m才變成了m+1;

++m在分號以前m的值已經變成了m+1

4樓:匿名使用者

i++ 是先參與運算,然後i本身再自加1,++i 是先自加1,然後參與運算,所以這個例子就是

p=(i++) + (i++) + (i++);

5   +   6   +   7 = 18,i=8q=(++j) + (++j) + (++j);

6 +   7 +   8 = 21,j=8

5樓:鍋安東尼

每一個表示式都是有值的.

m++是先把m的值作為"m++"表示式的值被傳遞,之後對m進行自加;

++m是先將m自加,再將m的值作為"m++"表示式的值被傳遞.

c語言裡邊m++與++ m區別是啥,求形象解答,謝謝!

6樓:匿名使用者

若m=6;

a=m++;

則執行完該語句後a=6,m=7.(賦值運算取自加之前的值)若m=6;

a=++m;

則執行完該語句後a=7,m=7.(賦值運算取自加之後的值)如果單純有一行是

m++或者++m,沒有賦值或取值,那麼這兩句實際結果是一樣的,都是m的值增加了1

7樓:12我的

m++是先讓m進行加一操作,在使用m的值,例如m=5,a=m++,a就=6

8樓:

m++=m+1;++m=1+m

9樓:酆蓉魯雲淡

我說下吧:

比如:如果m=9的話.那麼:

n=m++

的結果就是:n=9

m=10

n=++m

的結果就是:n=10

m=10了

再看下助理的,就是這意思了

c語言中,m++和++m有什麼區別,舉個例子

10樓:水冰寒河

m++就是m先參與運算再自增1,++m是m先自增1再參與運算舉個例子:

如果,x=1,y=0,那麼y=++x*++x的值是多少呢?

這個你要先明白運算的優先順序:前++運算的優先順序高於*運算,即x先自增,再參與其他運算.所以y=++x*++x寫的明確點是:

y=(++x)*(++x),就是說,選對做兩個++x,這時x的值變成了3,再做*運算,y的值為9.

還有一種是是後++,即x++這個運算後於*運算,也就是x先運算,再自增,所以如果寫成y=x++*x++,則運算後y 的值為1,而x是3.

這麼說你明白嗎?

11樓:

我說下吧:

比如:如果m=9的話.那麼:

n=m++ 的結果就是:n=9 m=10

n=++m 的結果就是:n=10 m=10了再看下助理的,就是這意思了

12樓:匿名使用者

看書寫順序:

m++即理解為

1)取m值

2)++

++m即理解為

1)++

2)取m值

13樓:就為找葉慈

m++是先取m再加

++m是先加再取m

c語言的m++和++m

14樓:聽不清啊

輸出的值

bai是:

1010

因為du

系統是先計算

zhim--,值為dao10(然後m變為9)專再計算++m(m的值先變為10再取值)的值為10由於中間沒有空格,

屬所以,

int m=10;printf("%d%d",++m,m--);

就是輸出 1010

15樓:猜城縫鶴

11,11

++m是先自加,所以是11

m--是後自減,先返回原值11,然後再自減

c語言中,比如一個變數m,m++和++m的區別在**?哪位高手能給解釋一下嗎?最好能舉一個例子,謝謝!!

16樓:**水心

m就是個普通變數,而m++是先賦值後加1,而++m是先自加1後賦值。

例:int x=5;

y=x++;

則y=5,x=6;

而int x=5;

y=++x;

則y=6,x=6;

17樓:匿名使用者

例如 m=3 令x=m++,

y=++m

分兩步計算

對於x,等價於 x=m,m=m+1 (加號在後,m先賦值再自增)此時 x=1,m=2;

對於y,等價於 m=m+1,x=m (加號在前,m先自增再賦值)此時 y=2,m=2;

18樓:匿名使用者

例子1:

int m=0;

m++;//執行後m=1;等同於m=m+1;

++m;//執行後m=2;單獨成句時,效果和m++;

例子2:

int n=0,m=0;

n=m++;//執行後,n=0,m=1,解釋:先把m的值賦給n,然後自身加1,即m=m+1;

n=++m;執行後n=2,m=2,解釋:m先自身加1(即m=m+1)後再把值賦給n;

//希望你看得明白

19樓:小魚

m是變數,m++是指先將m的值進行比較或其他過程,然後將m的值+1賦給m;++m是指先將m的值+1賦給m,然後將賦值後的執行某個過程。

20樓:_溫柔書生

第一情況: int m=9;

printf("%d",m++);//輸出9,然後m=10。 先執行後自身加1

第二情況: int m=9;

printf("%d",++m);//輸出10,然後m=10。先自身加1後執行其他語法。

懂不懂?

21樓:匿名使用者

m++是先使用再加1,而++m是先加1再使用

22樓:獲取所需

同學你好,是這樣的:先給舉個例子:

1.#include「stdio.h」

main()

2.#include「stdio.h」

main()

1.中的結果m=1

2.中的結果是m=2

簡單地講就是:++m:先加後用

m++:先用後加;

明白了麼?

c語言中,m++=n與++m=n有什麼不同

23樓:匿名使用者

上面不合法,如果不熟悉前置後置運算

這個:int i=1 ; int i=0;

while(i<=count) while(i個等價版 幫助理解權~~

24樓:匿名使用者

不相同,但也相同

不相同的是它們一個是++m,另一個是m++

相同的是它們都是錯誤的表示式,不符合c語言語法規定。

25樓:和睦空大

m++=n這個是錯誤的寫法

後面的++m=n才能執行

26樓:匿名使用者

要在前面加上int才行

int n=++m表示先讓m加1,然後再讓n=他、而int n=m++表示n=m,而m=m+1

呵呵。 我也剛剛在自學程式設計、你的**多少啊?我加你!我們可以討論一下學了什麼!

c語言m++,和m+1有什麼不同嗎

27樓:匿名使用者

m+1只是計算,沒有賦值。

m++是對m自加一

等效於m=m+1.

不過 m++的好處在於,可以和其他語句一起寫。

比如 n=m++;

等效於n=m;

m=m+1;

將兩句合成了一句。

另外,傳統的說法為,m++要比m=m+1更高效,不過在當前編譯器優化下,二者在執行效率上已經沒什麼區別了。

28樓:匿名使用者

m++等價於m=m+1;

c語言m++&&k++與k++&&m++有什麼不同?

29樓:匿名使用者

對&&操作如果發現前面的邏輯運算值為0,則不再進行後面的操作,直接認為整個式子值為0.

另外,x++運算的優先順序相當低,甚至低於賦值運算,故先執行&&運算在執行++運算

30樓:匿名使用者

一樣的,你的試卷上的答案恰恰也說明是一樣的

C語言中m34k8為什麼m的值為真

就因為k 8是賦值表示式,所以這部分的值就是8 既然非0,也就是 真 所以,3 4為真,k 8也為真,所以,m的值就是真。k 8,非零即真,3 4為真。邏輯與,兩個都為真,所以整個表示式為真,所以m為真 在c語言中,設有如下定義 int a 1,b 2,c 3,d 4,m 2,n 2 則執行表示式 ...

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

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

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

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