问题
单项选择题
有以下程序:
#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的值并未改变,即变量作形参时,其值的改变不能影响实参的值。