看了学长制作的蓝桥杯经验ppt
其中有关于局部变量的个两段代码如下:
1.正确代码
#include<iostream>
#include<stdlib.h>
using namespace std;
int main(){
int n;
while(scanf("%d",&n)==1){
int res=-1e9;
for(int i=0;i<n;i++){
int tmp;
scanf("%d",&tmp);
res=max(res,tmp);
}
printf("%d",res);
}
return 0;
}
2.不正确代码:
#include<iostream>
#include<stdlib.h>
using namespace std;
int main(){
int n;
int res=-1e9;
while(scanf("%d",&n)==1){
for(int i=0;i<n;i++){
int tmp;
scanf("%d",&tmp);
res=max(res,tmp);
}
printf("%d",res);
}
return 0;
}
结果虽然都是一样的,但区别在一个res是局部变量(while循环结束后res被释放),一个res是main函数中的全局变量,由于res定义的值很大,所以定义成局部变量比较好。。。吧,应该是这样emmm