选择题
20.
若有以下程序:
#include <stdio.h>
void sub(int x, int y, int *z)
{ *z=y-x;}
main()
{ int a,b,c;
sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);
printf("%d,%d,%d<n",a,b,c);
}
程序的运行结果是______。
A、
5,2,3
B、
-5,-12,-7
C、
-5,-12,-17
D、
5,-2,-7
【正确答案】
B
【答案解析】
sub里的3个变量中,x,y是传的值,也就是传的一个值的副本,z则是传的地址,sub函数体里对z的操作会影响传递进来的那个变量。b是指变量本身,&b是指变量的地址。
提交答案
关闭