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 ...