Re: [問題] for迴圈的問題
※ 引述《nonopower (咩~~)》之銘言:
: 開發平台(Platform): C
: 問題(Question):
: 在做題目時遇到一個讓我疑惑的地方,題目的程式碼如下:(省略前面)
: f(int n)
: { int i;
: if(n>100)
: return(n-10);
: else
: for(i=n;i<100;i+=11);
: if(i>100)i-=10;
: return(i);
: }
: 疑惑的點是:for(i=n;i<100;i+=11)不就是設定i從n~99,
: 為什麼下面還可以設定if i>100?它上面那行不是已經設定i<100了嗎?
: 小妹是初學者,如果問題看來很愚蠢的話請原諒我,囧>
整理一下:
f(int n)
{
int i;
if(n>100)
{
return(n-10);
}
else
{
for(i=n;i<100;i+=11);
}/*if n > 100*/
if(i>100)
i-=10;
return(i);
}/*f*/
這代碼寫的真差
現在把 n= 99代進去
會走到 else那一條
會變成 i = 99+11
然後 if裡就是
i = 110 - 10
傳回100
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.115.132.79
推
06/16 18:34, , 1F
06/16 18:34, 1F
討論串 (同標題文章)