#include
int main() {
int n,num,sum=0;
scanf("%d",&n);
int a[n];
for(int i=0;i
scanf("%d",&num);
a[i]=num;
}
for(int i=0;i
if(a[i]%2==0){
sum+=a[i];
}
}
printf("%d",sum);
return 0;
}
在for循环中定义int i,它的作用域仅限于循环内部。如果放在函数开始定义,则作用域为整个函数体内。从最小可见原则来讲,应该随使用随定义。这样各代码逻辑块之间是独立的,不存在共用变量的耦合。
如果了解重构方法的话,其中有一条是提取函数,这种局部定义的变量,对提取函数的重构实现是非常有利的。