问题 单项选择题

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

选择题
单项选择题