强奸久久久久久久|草草浮力在线影院|手机成人无码av|亚洲精品狼友视频|国产国模精品一区|久久成人中文字幕|超碰在线视屏免费|玖玖欧洲一区二区|欧美精品无码一区|日韩无遮一区二区

首頁 > 資訊 > 知識(shí) > 自增,在c語言中的自增與自減怎么回事啊

自增,在c語言中的自增與自減怎么回事啊

來源:整理 時(shí)間:2024-11-20 21:35:45 編輯:智能門戶 手機(jī)版

本文目錄一覽

1,在c語言中的自增與自減怎么回事啊

在C語言中,自增是自身增加,例如:i++是i自身在運(yùn)算后加1,自減是自身減,例如:i--是i自身在預(yù)算后減1.
i++ 等同于 i = i + 1;那(i+j) ++ 等同于 i + j = i + j + 1;么 i+j是一個(gè)表達(dá)式,不是一個(gè)變量。
i++,i--分別是先運(yùn)算,然后再自加,自減++i,--i分別是先自加,自減,然后再運(yùn)算
例,x=5,y=x++,y=5 x=5,y=x--,y=5 x=5,y=++x,y=6 x=5,y=--x,y=4

在c語言中的自增與自減怎么回事啊

2,C語言自增自減i和i的區(qū)別

自增、自減運(yùn)算符。自增:i++,++i自減:i--,--ii++和++i的區(qū)別:當(dāng)i++和++i單獨(dú)一行時(shí),兩者的作用相同,都實(shí)現(xiàn)i=i+1;但不同之處在于i++先使用i的之后,再執(zhí)行i=i+1,而++i是先執(zhí)行i=i+1,在執(zhí)行使用i的值。而 a = ++i,相當(dāng)于 i=i+1; a = i;而 a = i++,相當(dāng)于 a = i; i=i+1;例如:該代碼執(zhí)行結(jié)果a=2,b=1;#include<stdio.h>#include<math.h>int main (void)int a,b;int i=1,j=1;a=++i;b=j++;printf("%d %d.\n",a,b);return 0;}

C語言自增自減i和i的區(qū)別

3,誰和我講下自增自減

自增就是++的概念。但自增也分為前自增和后自增。 比如有a = i++(i的初值為0),因?yàn)?+是在i的后面, 所以i是屬于后自增,后自增的概念是,先使用i的值, 在這里也就是先把i的值賦給a,然后i再加一。根據(jù)這 個(gè)概念,a的值為0,i的最后值為1。而如果是a = ++i; 因?yàn)?+是在i的前面,那么i是前自增,也就是先自增, 再使用i的值,比如一開始i等于0,因?yàn)槭乔白栽?,所? i的值先加一,然后再賦值給a,最后a的值為1。看看 上面的兩個(gè)a的值不同。一個(gè)是0值,一個(gè)是1值。 自減也是一樣,一樣分為前自減和后自減。
健康最重要,日常養(yǎng)成好的習(xí)慣就可以了。 回答完畢,希望采納!

誰和我講下自增自減

4,C語言中的自增自減怎么算

自增,比如說變量s與i運(yùn)行s=i++; 輸出s,你將會(huì)看到s與之前的i值(未增)一樣也就是說,i++是先將i的值賦予s,再將i的值+1s=++i;輸出s,你將會(huì)看到s與i增加后一樣也就是說,++i先將i的值+1,再賦值給s自減同理
++a , a=2 a, a=2 (a+a) =4 ++a , a=3 4+a = 7 --a, a=2 7+a = 9 a++, a=3 a=3,b=9
自增,i++即使用前每次加一;++i每次使用后加一自減i--,即每次使用前減一;--i每次使用后減一
自增自減道理是一樣的,比如自增分為前綴和后綴,比如 int x=5; 你輸出x++的值為5,而++x的值則為6,因?yàn)榍熬Y是“先變后使用”,而后綴則是“先使用后變”,在賦值運(yùn)算時(shí)能夠看到他們的區(qū)別

5,C語言自增運(yùn)算

++是自增運(yùn)算符,++k或k++都是讓變量k的值加1;- -是自減運(yùn)算符,- -k或k- -都是讓變量k減1。運(yùn)算符位于操作數(shù)之前,稱為前置運(yùn)算符;運(yùn)算符位于操作數(shù)之后,稱為后置運(yùn)算符。這兩種運(yùn)算符的差異是:前置運(yùn)算符是對(duì)變量先遞增(遞減),然后參與其他運(yùn)算,即先改變變量的值后使用;后置運(yùn)算符則是變量先參與其他運(yùn)算,后對(duì)變量遞增(遞減),即先使用后改變。比如:int a=9; b=a++;(b=9;a=10) b=++a;(b=10;a=10)對(duì)于你的這道題來說,++i和i++都是一樣的;因?yàn)槎际歉淖僫的值。還有,printf("%d\n",sum)少寫了一個(gè)“;”,應(yīng)該是printf("%d\n",sum);希望對(duì)你有所幫助!
樓上你錯(cuò)了~~ 對(duì)自增的理解不對(duì)哦~ 第一個(gè)式子 a = 9;第二個(gè)式子 a = 3, b = 4 ,c = 5 , d = 3+4+5 = 12原理:自增運(yùn)算中,++或者--在變量后面的話是要先進(jìn)行運(yùn)算的~ 所以第一個(gè)式子中先進(jìn)行括號(hào)運(yùn)算,在進(jìn)行賦值運(yùn)算,最后再完成自增運(yùn)算,所以a=9, 而i=6; 第二個(gè)式子同理, i先賦值給變量后自增。 樓主不相信的話可以寫個(gè)程序運(yùn)行一下~。該好好復(fù)習(xí)一下譚浩強(qiáng)的c語言了~
i++是i被使用后再自增1,++i是i自增之后再被使用,把i++換成++i之后,該怎么樣就怎么樣啊,自己用編譯器試試不就得了。。。

6,C語言的自增運(yùn)算該怎么算

跟編譯器有關(guān), VC6結(jié)果為11,編譯結(jié)果是這樣:123456789101112131415161718 45: a=(++a)+(++a)+(++a)+(++a);0040109F mov eax,dword ptr [ebp-4]004010A2 add eax,1004010A5 mov dword ptr [ebp-4],eax //a=1004010A8 mov ecx,dword ptr [ebp-4]004010AB add ecx,1004010AE mov dword ptr [ebp-4],ecx //a=2004010B1 mov edx,dword ptr [ebp-4] //tmp =2004010B4 add edx,dword ptr [ebp-4] //tmp = 2+2 = 4004010B7 mov eax,dword ptr [ebp-4]004010BA add eax,1004010BD mov dword ptr [ebp-4],eax //a=3004010C0 add edx,dword ptr [ebp-4] //tmp = 4+3=7004010C3 mov ecx,dword ptr [ebp-4]004010C6 add ecx,1004010C9 mov dword ptr [ebp-4],ecx //a=4004010CC add edx,dword ptr [ebp-4] //tmp= 7+4=11004010CF mov dword ptr [ebp-4],edx //a=tmp=11 VS2008結(jié)果為16,編譯如下:123456789101112131415161718 a=(++a)+(++a)+(++a)+(++a);004128CB mov eax,dword ptr [ebp-20h] 004128CE add eax,1 004128D1 mov dword ptr [ebp-20h],eax 004128D4 mov ecx,dword ptr [ebp-20h] 004128D7 add ecx,1 004128DA mov dword ptr [ebp-20h],ecx 004128DD mov edx,dword ptr [ebp-20h] 004128E0 add edx,1 004128E3 mov dword ptr [ebp-20h],edx 004128E6 mov eax,dword ptr [ebp-20h] 004128E9 add eax,1 004128EC mov dword ptr [ebp-20h],eax 004128EF mov ecx,dword ptr [ebp-20h] 004128F2 add ecx,dword ptr [ebp-20h] 004128F5 add ecx,dword ptr [ebp-20h] 004128F8 add ecx,dword ptr [ebp-20h] 004128FB mov dword ptr [ebp-20h],ecx 可以看出是先執(zhí)行完所有的++a, 然后把4個(gè)a加起來。所以同一行代碼里,最好不要出現(xiàn)同一個(gè)變量多次自增,結(jié)果不確定。
VC++6.0運(yùn)行出來的確是11,反匯編代碼如下面幾位所給的,你估計(jì)也看不懂。這是一個(gè)有爭(zhēng)議的代碼,vs編譯器和tc編譯的結(jié)果又不一樣,所以說這個(gè)只做下了解吧,二級(jí)C語言統(tǒng)考的時(shí)候應(yīng)該不會(huì)出現(xiàn)這種題!
++a與--a是先加(減)再用a--與a++是先用后加(減)&&是如果前面運(yùn)算為0后面就不運(yùn)算||是如果前面運(yùn)算為1后面就不運(yùn)算a++與--a的運(yùn)算都比&&(||)高 問題1:int a,b;a=b=1;++a || ++b ;a=?,b=?++a a就為2,所以b=1后面就不運(yùn)算了#includevoid main() { int a,b; a=b=1; ++a||++b; printf("%d %d\n",a,b); } 問題二:int a,b;a=b=c=1;++a || ++b && ++c;a=?,b=?,c=?; ++a運(yùn)算是a=2就正確了后面就不運(yùn)算了所以b=1,c=1; #include void main() { int a,b,c; a=b=c=1; ++a||++b&&++c; printf("%d %d %d\n",a,b,c); }
估計(jì)和編譯器有關(guān)吧VS2008是16吧 a =4+4+4+4 是以最終的a做了4次相加給你看下反匯編代碼:int a = 0;004114DE mov dword ptr [a],0 a=(++a) + (++a) + (++a) + (++a);004114E5 mov eax,dword ptr [a] 004114E8 add eax,1 004114EB mov dword ptr [a],eax 004114EE mov ecx,dword ptr [a] 004114F1 add ecx,1 004114F4 mov dword ptr [a],ecx 004114F7 mov edx,dword ptr [a] 004114FA add edx,1 004114FD mov dword ptr [a],edx 00411500 mov eax,dword ptr [a] 00411503 add eax,1 00411506 mov dword ptr [a],eax 00411509 mov ecx,dword ptr [a] 0041150C add ecx,dword ptr [a] 0041150F add ecx,dword ptr [a] 00411512 add ecx,dword ptr [a] 00411515 mov dword ptr [a],ecx
結(jié)果是10。1 inta = 0; a 初始值為 0。1 (++a) + (++a) + (++a) + (++a); ++ (前置)出現(xiàn)在表達(dá)式中,會(huì)使受作用的變量自增1,再參與表達(dá)式的計(jì)算。不過,在同一語句中,多次訪問同一個(gè)變量的情形,有可能被編譯器優(yōu)化。如果不考慮編譯器優(yōu)化的情形,即每次修改變量a的值時(shí),a均是從內(nèi)存中訪問(而不是寄存器中訪問),那么,由于C語言中的加法運(yùn)算是左結(jié)合的,即從左邊開始運(yùn)算,所以,上式等價(jià)于:1 a = 1 + 2 + 3 + 4; 其結(jié)果是:1 10 以上分析在不同平臺(tái)都實(shí)用,但不保證不同平臺(tái)編譯器編譯后運(yùn)行的結(jié)果一樣。常見的編譯器有Microsoft 的 C/C++ 編譯器、Borland 的 C/C++編譯器、GNU 的 GCC。
這個(gè)跟編譯器處理有關(guān),不同的編譯器出來的結(jié)果是不一樣的。我用vs2010出來的結(jié)果是16.
文章TAG:自增在c語言中的自增與自減怎么回事啊

最近更新

  • dts文件,DTS音樂是什么格式的dts文件,DTS音樂是什么格式的

    DTS音樂是什么格式的2,哪有DTS音樂下載下載下來了是什么格式3,MKV電影附帶的DTS文件如何一起播放4,DTS的聲音文件得用什么軟件來解碼5,怎樣播放nrg格式的dts文件6,文件格式XviDDTS這種格式.....

    知識(shí) 日期:2024-11-20

  • 微電子器件,CUP含有哪些元器件和微電子器件微電子器件,CUP含有哪些元器件和微電子器件

    CUP含有哪些元器件和微電子器件2,人們常把集成電路稱為微電子器件這個(gè)微字不只是微小的意思3,微電子器件4,微電子器件有哪些及英文名5,如何區(qū)別微電子器件和微電子工藝6,微電子器件需要激光.....

    知識(shí) 日期:2024-11-20

  • 拍拍貸大數(shù)據(jù)產(chǎn)品經(jīng)理拍拍貸大數(shù)據(jù)產(chǎn)品經(jīng)理

    2.拍拍Loan拍拍幫助年輕人奮斗成長(zhǎng)的品牌計(jì)劃,包括拍拍貸款千人奮斗基金和YOUNG計(jì)劃等。拍拍借貸平臺(tái)貸款服務(wù)包括針對(duì)個(gè)人用戶的萬能貸款和其他貸款,貸款金額,拍拍貸款擁有超過1.2億注冊(cè).....

    知識(shí) 日期:2024-11-20

  • 感量,科學(xué)中的感量是什么意思感量,科學(xué)中的感量是什么意思

    科學(xué)中的感量是什么意思感量表示天平所能測(cè)量的最小質(zhì)量數(shù),就是標(biāo)尺上最小刻度所代表的質(zhì)量數(shù)。2,電子秤感量什么意思你指的應(yīng)該是分度值吧,電子秤的精確度主要由傳感器決定,如有問題可以Q.....

    知識(shí) 日期:2024-11-20

  • 一月手游數(shù)據(jù),夢(mèng)幻西游大唐數(shù)據(jù)對(duì)比誰的輸出更高端一月手游數(shù)據(jù),夢(mèng)幻西游大唐數(shù)據(jù)對(duì)比誰的輸出更高端

    如何修改手游的數(shù)據(jù),手游成功三部曲的關(guān)鍵數(shù)據(jù)分析手游成功三部曲的關(guān)鍵數(shù)據(jù)分析據(jù)預(yù)測(cè),2015年國內(nèi)手游市場(chǎng)規(guī)模將達(dá)到500億。然而繁榮的背后,卻是成千上萬的手游商家競(jìng)相廝殺的殘酷局面,.....

    知識(shí) 日期:2024-11-20

  • 機(jī)器人技術(shù)發(fā)展與應(yīng)用,服務(wù)機(jī)器人的發(fā)展與應(yīng)用有何建議?機(jī)器人技術(shù)發(fā)展與應(yīng)用,服務(wù)機(jī)器人的發(fā)展與應(yīng)用有何建議?

    關(guān)于服務(wù)機(jī)器人發(fā)展和應(yīng)用的建議。服務(wù)機(jī)器人的發(fā)展近年來,機(jī)器人技術(shù)和應(yīng)用成為各國爭(zhēng)奪的制高點(diǎn),各主要國家都出臺(tái)了機(jī)器人相關(guān)的戰(zhàn)略發(fā)展規(guī)劃,機(jī)器人行業(yè)的發(fā)展現(xiàn)狀和前景如何?機(jī)器人的.....

    知識(shí) 日期:2024-11-20

  • 英碩自動(dòng)化專業(yè)就業(yè)前景,自動(dòng)化專業(yè)就業(yè)前景怎么樣?英碩自動(dòng)化專業(yè)就業(yè)前景,自動(dòng)化專業(yè)就業(yè)前景怎么樣?

    自動(dòng)化專業(yè)就業(yè)前景如何?自動(dòng)化專業(yè)就業(yè)前景如何?自動(dòng)化專業(yè)有前途嗎?自動(dòng)化專業(yè)就業(yè)前景廣闊,工資待遇不錯(cuò)。自動(dòng)化專業(yè)好就業(yè)嗎?介紹如下:自動(dòng)化專業(yè)好就業(yè),自動(dòng)化的就業(yè)前景如何?自動(dòng)化的.....

    知識(shí) 日期:2024-11-20

  • 機(jī)械能守恒公式,機(jī)械能守恒機(jī)械能守恒公式,機(jī)械能守恒

    機(jī)械能守恒2,機(jī)械能守恒定律的公式3,找一下有關(guān)機(jī)械能的公式吧會(huì)灰常感謝4,求高一物理必修一公式全1,機(jī)械能守恒Ek=1/2mv^2Ep=mghE=Ek+Ep△E=Ek2-Ek1=1/2mv2^2-1/2mv1^2WG=-△EpW除了G以外.....

    知識(shí) 日期:2024-11-20

相關(guān)文章