#include<stdio.h>
int count=3;
int main()
{
int i,sum,count=2;
for(i=0,sum=0;i<count;i+=2,count++)
{
static int count=4;
count++;
if(i%2==0)
{
extern int count;
count++;
sum+=count;
}
sum+=count;
}
printf("sum=%d\ncount=%d\n",sum,count);
return 0;
}
i<count 中 count=2; 進入for循環,static int count=4 中 count 是靜態局部變量,使用後保存當前的值,count++ 後,此時 count 變爲 5,進入if語句,extern int count,此時 count 爲外部的全局變量,count++;此時 count 變爲4,執行 sum+=count;sum=4。出if語句,執行 sum+=count, 此時 sum=4+5=9。進入for循環的調整部分,i+=2,count++,此時i=2,count=3;執行for循環的判斷部分,2<3成立,進入for循環,繼續往下執行,count++,此時count=6,進入if語句,count++,此時count爲上次的值加1,所以count爲5,sum+=count,則sum=9+5=14;再出if語句,sum+=count,則sum=14+6=20;再進入for循環的調整部分,i+=2,count++,此時i=4,count=4;條件部分4<4判斷失敗,出for循環,輸出sum=20,count=4。程序結束。