當我運行此代碼時,我得到的答案爲5,但我不明白這是如何工作的 根據我自己的理解,這應該是一個無限循環 ,因爲數值的值永遠不會改變它的內部功能範圍 該函數的輸出爲5,for循環只運行一次 我需要了解這裏的條件如何滿足。功能範圍不正確輸出
#include <stdio.h>
int num=7;
int r();
int main()
{
for(r();r();r())
{
printf("%d",r());
return 0;
}
}
int r()
{
return num--;
}
正確縮進/格式化你的代碼,你在循環內返回,根本不可能是無限的。 – Mat 2014-09-20 16:34:12
只有一個'num',它當然不在一個函數的範圍內。 – chris 2014-09-20 16:34:16
'return 0;'當它到達時立即結束主函數,所以它不會再循環。 – PeterT 2014-09-20 16:35:47