下面程序应能对两个整型变量的值进行交换。以下正确的说法是   #include<iostream.h>   void swap(int p,int q)   { int t;    t=p;    p=q;    q=t;}   void main( ) 

admin2013-05-30  30

问题 下面程序应能对两个整型变量的值进行交换。以下正确的说法是   #include<iostream.h>   void swap(int p,int q)   { int t;    t=p;    p=q;    q=t;}   void main( )   {  int a=10,b=20;     cout<<a<<" "<<b;     swap(&a,&b);     cout<<a<<" "<<b;}

选项 A、该程序完全正确
B、该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可
C、该程序有错,只要将swap( )函数中的形参p和q以及t均定义为指针(执行语句不变)即可
D、以上说法都不对

答案8

解析 本题应该把swap( )函数改成这样:swap(int * P,int * q){int t ; t= * p; * p=*q;*q=t;}执行程序时,先将a的地址传递给指针变量p,b的地址传递给指针变量q,然后将*p(a的值)的值传递给t,将*q(b的值)传递给 * p,将t的值传递给 * q,从而将a值和b值互换。
转载请注明原文地址:https://kaotiyun.com/show/3mNp777K
0

最新回复(0)