问题 单项选择题

下列程序的输出结果是( )。# include < iostream.h>int min( int a,int b){if(a < b)return a;else return b;return 0}void main ( ) {cout << min(1,min(2,3)) << endl;}

A.15

B.25

C.35

D.45

答案

参考答案:C

解析:在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的 实参传递给被调用的过程,完成实参与形参的结合,然后执行被调过程,在Visual Basic 中,实参与形参的结合有两种方式:即传址与传值。这两种方法的特点如下: 传址的结合过程是,当调用一个过程是,它将实参的地址传给形参,在被调用的过程 中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。 传值的结合过程是,当调用一个过程时,系统将实参的值赋值给形参并断开了联系, 被调用过程中的操作时在形参自己的存储单元中进行的,当过程调用结束时,这些形参 所占用的存储单元也同时被释放,因此在过程中对形参的任何操作不会影响实参。而题 中被调过程Proc中有两个形参,其中第一个形参n为传址方式,第二个形参m为传值方 式。主调过程分别把实参x、y传递给Proc,所以当过程调用结束后,实参x的值应随着被 调过程变化而变化,而实参y值在主调函数中始终不变,所以输出y的值仍为29;在被调 过程中 "n = n Mod l0 "被调用时,相当于“x=x Mod l0”,所以x的值最终为6。

单项选择题
名词解释