下面程序应能对两个整型变量的值进行交换。以下正确的说法是 include<iostream.h> void swap
程序,变量,说法
已帮助 人
下面程序应能对两个整型变量的值进行交换。以下正确的说法是 #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.以上说法都不对
请帮忙给出正确答案和分析,谢谢!
-
正确答案:D
解析:本题应该把swap()函数改成这样:swap(int*P,int*q){intt;t=*p;*p=*q;*q=t;}执行程序时,先将a的地址传递给指针变量p,b的地址传递给指针变量q,然后将*p(a的值)的值传递给t,将*q(b的值)传递给*p,将t的值传递给*q,从而将a值和b值互换。
