精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • 關(guān)于for循環(huán)語(yǔ)句后的分號(hào)問題

    關(guān)于for循環(huán)語(yǔ)句后的分號(hào)問題
    #include "Stdio.h"
    int main(void)
    {
    long sum=0L;
    int count=0;
    int i=0;
    printf("\nplease enter the number of integers you want to sum:");
    scanf("%d",&count);
    for(i=count; i >=1 ;sum += i--) ;
    printf("\nTotal of the first %d number is %ld;\ni=%d.\n",count,sum,i);
    }
    for語(yǔ)句后的分號(hào)不加的話,sum的結(jié)果就是從2加到count,但是加的話,sum的結(jié)果就是從1加到count.
    為什么會(huì)這樣!
    其他人氣:749 ℃時(shí)間:2020-05-09 02:31:45
    優(yōu)質(zhì)解答
    for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語(yǔ)句
    執(zhí)行過程如下:
    1) 先求解表達(dá)式1.
    2) 求解表達(dá)式2,若其值為真,則執(zhí)行for語(yǔ)句中指定的內(nèi)嵌語(yǔ)句,然后執(zhí)行下面第3)步;若其值為假,則結(jié)束循環(huán),轉(zhuǎn)到第5)步.
    3) 求解表達(dá)式3.
    4) 轉(zhuǎn)回上面第2)步繼續(xù)執(zhí)行.
    5) 循環(huán)結(jié)束,執(zhí)行for語(yǔ)句下面的一個(gè)語(yǔ)句.
    有分號(hào)時(shí)就是沒有循環(huán)體時(shí),等于是直接跳到3)步,去求表達(dá)式3了,也就是表達(dá)式3成為循環(huán)體,等價(jià)于
    for(i=count; i >=1 ;i--)
    sum=sum+i;
    此后printf打出的是它執(zhí)行完時(shí)sum的終值.
    而沒分號(hào)時(shí)循環(huán)體為printf語(yǔ)句,也就是說(shuō)第一次并不是求表達(dá)式3,而是先去執(zhí)行printf了,----這就是為什么第一次打出的sum總為0!也就是printf先于sum += i--執(zhí)行了.
    總之,兩種情況下,sum += i--語(yǔ)句執(zhí)行次數(shù)是一樣的,但在沒分號(hào)情況下,因printf要比它早執(zhí)行一次,因而最后sum終值沒有被打出來(lái)而已.
    我來(lái)回答
    類似推薦
    請(qǐng)使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點(diǎn),以保證最佳閱讀效果。本頁(yè)提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機(jī)版