#include <stdio.h>
int x=5, y=6;
void incxy( ){
x++; y++;
}
int main( ){
int x=3;
incxy( );
printf("%d,%d\n", x,y);
return 0;
}
为什么最后的结果是3,7呢
#include <stdio.h>
int x=5, y=6;
void incxy( ){
x++; y++;
}
int main( ){
int x=3;
incxy( );
printf("%d,%d\n", x,y);
return 0;
}
为什么最后的结果是3,7呢
全局变量作用域为程序的始终,局部变量作用于当前函数。
在声明了同名变量的方法中,使用局部变量的数值
在未声明同名变量的方法中,使用全局变量的数值
x = 5, y = 6是全局变量, 你的函数没有传递参数过去, 所以是改变的全局变量中的x, y,而在main函数中声明了同名变量, 所以用x = 3
有用请采纳