请问下面的C代码是怎么分析的??关于变量作用域的 谢谢!
int count = 3;
int main(int argc, char * argv[])
{
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("%d %d",count,sum);
return 0;
}
[解决办法]
静态变量是在调用后,一直存在内存中,如果是在函数中定义,只有该函数可以调用。extern是使用外部文件的变量。
[解决办法]
int count = 3; //叫count1吧int main(int argc, char * argv[]){ int i,sum,count = 2; //叫count2吧 for(i=0,sum=0;i<count;i+=2,count++) //用count2 { static int count = 4; //叫count3吧 count++; //用count3 if(i%2==0) { extern int count; //申明语句,未定义变量 count++; //用count1 sum+=count; } sum+=count; //用count3} //我加的, 你的代码{}不匹配 printf("%d %d",count,sum); //用count2 return 0;}