首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #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-10-24
43
问题
有以下程序
#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。指针变量tp交换a和b的值,由于a、b的值是p、q值的复制,因此这次交换只改变了形参a、b的值,对实参p、q的值没有改变,此时指针变量a指向i,指针变量b指向i。swap函数最后输出*a和*b,所以输出3,7。由于swap函数改变了p和q指向的值,因此main函数输出i的值为7,i的值为3,*p的值为i,*q的值为j。最终程序输出:3,7,7,3,7,3。故本题答案为D选项。
转载请注明原文地址:https://kaotiyun.com/show/MDkp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:删除指针P所指字符串中的所有空白字符(包括制表符、回车符及换行符)。输入字符串时用“#”结束输入。请
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:在带头节点的单向链表中,查找数据域中值为ch的节点。找到后通过函数值返回该节点在链表中所处的顺序号;若不存在
给定程序中,函数fun的功能是:根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,输出字母的大小写与形参c一致,数量由形参d指定。若输出字母中有字母Z或z,则应从A或a开始接续,直到输出指定数量的字母。例如:c为’Y’,d为4,则程序输出ZABC;
非空循环链表所表示的数据结构
下述语句中,在字符串s1和s2相等时显示“theyareEqual”的是()。
以下选项中叙述正确的是()。
若有定义 inta,b,c;以下选项中的赋值语句正确的是()。
在C语言中,以下说法不正确的是()。
有三个关系R、S和T如下:其中关系T由关系R和S通过某种操作得到,该操作为()。
在软件开发中,需求分析阶段产生的主要文档是()。
随机试题
简述存货成本的计算。
下列关于药物毒性反应的描述中,正确的是:
在影像板中,能够产生光激励发光的物质是
诊断急性白血病的主要依据是
肠梗阻非手术治疗期间,梗阻解除的标志是
单位撤销、合并或改变隶属关系、更换财产库存现金保管人员时,需要进行全面清查。()
固定资产处于处置状态或者预期通过使用或处置不能产生经济利益的,应予终止确认。( )
根据下表提供的信息回答以下问题。2008年5月,社会消费品零售总额按地区分,总额最高的比总额最低的多()亿元。
在考生文件夹下打开WORD1.docx,按照要求完成下列操作并以该文件名(WORD1.docx)保存文档。【文档开始】甲A第20轮前瞻;戚务生和朱广沪无疑是国产教练中的佼佼者,就算在洋帅占主导地位的甲A,他俩也出尽风头。在他们的统领下,云南红塔和深圳平
EitherTimorhisbrothers(haveto)______washthedirtycarrightnow.
最新回复
(
0
)