问题
单项选择题
有以下程序: #include <stdio.h> void fun(int a,int b,int c) { a=456,b=567,c=678;} main() { int x=10,y=20,z=30;fun(x,y,z);printf("%d,%d,%d\n",x,y,z); } 此程序的输出结果是( )。
A.30,20,10
B.10,20,30
C.456,567,678
D.678,567,456
答案
参考答案:B
解析: 本题考查函数中变量的作用范围,在主函数中给变量x,y,z赋值,然后将其作为实参传递给函数fun,在函数fun中虽然改变了这三个变量的值,但两个函数中的x,y,z只是同名的局部变量,互不影响,所以调用函数fun后,主函数中x,y,z的值并未改变,即变量作形参时,其值的改变不能影响实参的值。