亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

小白問題 關于for

小白問題 關于for

C
Labermax 2017-10-17 22:58:16
#include<stdio.h>int main(){??? double sum=0;??? double i;??? if(i=1.0,i<=100,i=i+2)??? {??????? sum=sum+i; ??? }??? ??? printf(" sum=%10.8f\n? ",sum);??? return 0; }為什么最后的結果是3.000000 ? 不應該是更大的數字嗎?? 為什么循環提前結束了?
查看完整描述

1 回答

已采納
?
onemoo

TA貢獻883條經驗 獲得超454個贊

你哪里寫 for 循環了?

你寫的是 if!

而且 for 后面小括號中的三個部分是用分號隔開的。

查看完整回答
反對 回復 2017-10-17
  • Labermax
    Labermax
    。。。才發現,犯了低級錯誤,謝謝
  • onemoo
    onemoo
    之所以這個代碼能正常編譯是因為在語法上仍然正確!當然它沒法實現你想要的循環。 這里你寫成if語句了,而恰好if后面的括號中你也用逗號分隔(如果你用for的分號來分隔就有語法錯誤了)。這樣if的括號中成了“逗號表達式”。逗號表達式的值是表達式最后一個逗號后的內容——也就是i=i+2的值,這個值不是0,被判斷為true,所以執行了if大括號中的內容。
  • 1 回答
  • 0 關注
  • 1190 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號