熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2018-9-30 18:51
正文摘要:首先,程序第一步a>0,于是就循環(huán),當(dāng)程序走到s=s+i,也就是s=0+100=100,相當(dāng)于現(xiàn)在s=100了,然后執(zhí)行下一段,也就是i=i-1,也就是i=99了,那么,程序又一個(gè)循環(huán),又到s=s+i,那么,現(xiàn)在的i值剛被減過(guò)一次了 ... |
謝謝大家,你們真的一說(shuō),我全懂了! |
David---xin 發(fā)表于 2018-10-1 09:56 謝謝你 |
丨釋然丶居士灬 發(fā)表于 2018-9-30 23:25 謝謝你 |
diy1997 發(fā)表于 2018-9-30 21:34 謝謝你 |
znz43a 發(fā)表于 2018-9-30 20:41 謝謝,我懂了! |
hbnpmw 發(fā)表于 2018-9-30 20:58 謝謝你,我弄懂了! |
循環(huán)的判斷條件是i>0,當(dāng)i=1時(shí)進(jìn)入最后一次的循環(huán),此時(shí)注意是先進(jìn)行s=s+i,再進(jìn)行i=i-1,故前面s=0+100+99+....+1 |
這個(gè)確實(shí)有點(diǎn)繞,仿真調(diào)試一下,一步一步來(lái) |
單步調(diào)試一下,什么都明白了,別想像了。 |
~~~~~~~~~~~~~ 為何不是呢,把每一步的s打印出來(lái),和i也打印出來(lái),對(duì)比就知道了 |
起初s=s+i=100,i=i-1=99,下一次循環(huán)s=100+99,再下一次循環(huán)s=100+99+98,一直運(yùn)行直到最后s=100+99+98+...+2+1,你把這一大串式子倒過(guò)來(lái)看s=1+2+...+99+100是不是圖中printf中打印的???? |
起初s=s+i=100,i=i-1=99,下一次循環(huán)s=100+99,再下一次循環(huán)s=100+99+98,一直運(yùn)行直到最后s=100+99+98+...+2+1,你把這一大串式子倒過(guò)來(lái)看s=1+2+...+99.+ |
不知道你想表達(dá)什么。 1怎么來(lái)的? i =100; 當(dāng)i>0時(shí),會(huì)一直執(zhí)行 i =i -1; 當(dāng)減到 i =2 時(shí), i = i - 1 =1, 就是這么來(lái)的...... |
1+....100=5050,那么100+....1=5050同樣是成立的啊。0+100,100+99,199+98,看到?jīng)]?加號(hào)后邊的數(shù)是從100一直減小到1的。明白了么?程序計(jì)算過(guò)程正好與打印信息反著的 |
i=i-1,當(dāng)減至i=1時(shí),循環(huán)依然執(zhí)行,s=s+1。再執(zhí)行i=i-1時(shí),i=0跳出循環(huán)。 所以s=0+100+99+98+........+2+1=5050 |
Powered by 單片機(jī)教程網(wǎng)