早教吧作业答案频道 -->其他-->
C语言选择题下列程序能对两个整型变量的值进行交换。以下正确的说法是(4)D。main(){inta=10,b=20;printf("(l)a=%d,b=%d\n",a,b);swap(&a,&b);printf(“(2)a=%d,b=%d\n”a,b);
题目详情
C语言选择题下列程序能对两个整型变量的值进行交换。以下正确的说法是(4) D 。 main() { int a=10,b=20; printf("(l) a=%d,b=%d\n",a,b); swap(&a,&b); printf(“(2)a=%d,b=%d\n”a,b); } swap(int p, int q) { int t; t=p;p=q;q=t;} A. 该程序完全正确 B. 该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可 C. 该程序有错,只要将swap()函数中的形参p和q以及t均定义为指 针(执行语句不变)即可 D. 以上说法都不对
▼优质解答
答案和解析
首先,A肯定不对,因为这个程序没有实现a,b的交换。 其次,B的做法也无法改变a,b的值。因为调用函数的时候会复制参数的一个副本,函数内部是用这个副本运算,因此,值传递无法改变原始数据的值。 再次,C的意思是改为 swap(int *p, int *q) { int *t; t=p;p=q;q=t;} 这个函数运行时,同样把a,b的地址复制一个副本给p,q,然后将p,q的值(a,b地址的副本)进行了交换,而地址指向的值却没有任何变动,因此无法改变a,b的值。 所以,D.以上说法都不对
看了 C语言选择题下列程序能对两个...的网友还看了以下:
若集合A={x丨x=3n+1,n∈Z},B={x丨x=3n+2,n∈Z},M={x丨x=6n+3, 2020-04-05 …
笛卡尔积请具体解释一下.本人学文,现自学数据库,如题,看到这儿不明白,D1×D2×…×Dn={(d 2020-04-05 …
数学{an}是等比数列,a1+a2+a3=28 ,a2+a3+a4=561求该数列的通向公式2设b 2020-05-15 …
问一道解方程组的题今天写有8题1{2x+4y=94{x=35-y2{x+y=9{2x-y=63{x 2020-05-17 …
已知数列{αn}中,α1=2,αn+1=1/2αn,求:①该数列αn通项公式②该数列前五项和S5 2020-05-20 …
等差数列{An}中,Sn=324,S6=36,Sn-6=144(n>6),则n为多少? 2020-06-03 …
请教一道高数题.对于数列{Xn}={n/(n+1)}(n=1,2,3,...),给定(1)ε=0. 2020-06-11 …
已知M={(x,y)│y=│x│},N={(x,y)││y│=│x│,y≥0},那么M和N的关系是 2020-07-03 …
已知集合M={b|a^2+b^2=1},N={m|2m-n6^2+1=0}a,b,m,n属于实数则 2020-08-02 …
1.已知等差数列{an}中,a10=17,前n项和Sn满足Sn=n∧2+cn+2.(1)求实数c的值 2020-10-31 …