首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include <stdio.h> void swap(int *a,int *b) {int t,*tp; t=*a;*a=*b;*b=t; tp=a;a=b;b=tp; printf("%d,%d,",*a,
有以下程序 #include <stdio.h> void swap(int *a,int *b) {int t,*tp; t=*a;*a=*b;*b=t; tp=a;a=b;b=tp; printf("%d,%d,",*a,
admin
2022-04-01
22
问题
有以下程序
#include <stdio.h>
void swap(int *a,int *b)
{int t,*tp;
t=*a;*a=*b;*b=t;
tp=a;a=b;b=tp;
printf("%d,%d,",*a,*b);
}
main()
{int i=3,j=7,*p=&i,*q=&j;
swap(p,q);
printf("%d,%d,%d,%d",i,j,*P,*q);
}
程序执行后的输出结果是( )。
选项
A、3,7,3,7,3,7
B、7,3,7,3,7,3
C、3,7,3,7,7,3
D、3,7,7,3,7,3
答案
D
解析
main()函数中,首先定义两个整型变量i和j,初值为3和7,并将i的地址赋给p,j的地址赋给q,传给swap()函数。swap()函数接收两个整型指针变量a,b,然后使用整型变量t交换a、b所指向的值并输出。通过指针变量的交换改变了实参i、j的值,使得i=7,j=3;指针变量cp交换a和b的值,由于a、b的值是p,q值的拷贝,所以这次交换只改变了形参a,b的值,对实参p,q的值没有改变,此时指针变量a指向i,指针变量b指向i。函数最后输出*a和*b,所以输出3,7;由于swap()函数改变了p和q指向的值,昕以main()函数输出i的值为7,j的值为3,术p的值为i,*q的值为j,所以程序输出:3,7,7,3,7,3,本题答案为D。
转载请注明原文地址:https://kaotiyun.com/show/H1kp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序,程序运行后的输出结果是main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",m,n,*p,*q);}
以下叙述中正确的是
在16位编译系统上,若有定义“inta[]={10,20,30},*p=a;”,当执行“p++;”后,下列说法错误的是
以下程序的输出结果是()。#includeintm=13;intfun(intx,inty){intm=2;retum(x*y-m);}main()
若有定义语句:char*s1="OK",*s2="ok";以下选项中,能够输出"OK"的语句是
下列叙述中正确的是
下列定义变量的语句中错误的是
以下叙述中错误的是
以下正确的说法是()。
在C程序中,下列说法正确的是()。
随机试题
B超显示检查,可见到妊娠环的时间是在妊娠的
患者有偏瘫、偏身感觉障碍和偏盲,最可能由下述哪条血管闭塞引起
根据《会计档案管理办法》的规定,会计档案由单位会计机构负责整理立卷归档,并保管()移交单位的会计档案管理机构。
对于“营改增”的增值税一般纳税人企业,下列业务不得抵扣进项税额的是()。
下列关于涉及或有条件的修改其他债务条件债务重组处理的表述中,正确的有()。
当IP包头中TTL值减为0时,路由器发出的ICMP报文类型为
Whatarespausersremindedtodo?
AmericanRacetotheMoonTherootsofAmerica’splantolandamanonthemooncanbefoundoutsideofthecountry.Althoug
社交媒体的运用与其说造成了分歧,不如说放大了分歧。(not…somuchas…)
PassageThree(1)InthenorthernItaliancityofTreviso,aPolishpianist,SlawomirZubrzycki,sitsdownataninstrument
最新回复
(
0
)