C语言指针练习详解及答案 (第七章)
33 浏览量
更新于2024-01-13
1
收藏 91KB DOC 举报
&a; 将a的地址赋值给b之后,*b表示取b中地址对应的值,即a的值511,因此printf("%d\n", *b);的输出结果为511。这里要注意的是,*b表示取b指向的地址对应的值,而b本身是a的地址。
3. 下列程序的功能是找出整型数组a的最大元素值。使用指针变量p。 ` A.
int max(a[], n) int a[], n; { int i,max; max=a[0];
for(i=1;i<n;i++)
if(a[i]>max)
max=a[i]; return max; } B. int max(p,n) int ∗p,n;{
int max; max=∗p; p++; n−−;
while(n>0) if(∗p>max) max=∗p;p++; n−−; return max;} C. int max(int ∗p,int n){
int max; max=∗p; p++;
while(n−−>1)if(∗p>max)max=∗p;p++; return max;} D. int *max(inta[],intn){int∗p=a;
for(int ∗q=a+1;q<a+n;q++)if(∗q>∗p)p=q;return p;} 经分析发现,只有D选项的程序才是正确的,该程序通过定义指针变量p来遍历整型数组a,找出其中最大的元素值。
4.若定义: int a[5]={1, 2, 3, 4, 5}; 则下面的函数调用: f(a);所代表的意义是:(D) A. 把数组a 中元素的内容作为实参传递给函数f。 B. 把指针a 传递给函数 f。 C. 把数组a的地址的内容传递给函数f。 D. 把数组a的地址传递给函数f。 int a[5]={1, 2, 3, 4, 5}中的a代表数组a的地址,即&a[0]的地址。而函数调用f(a)中传递的是数组a的地址,即&a[0]的地址。因此,选项D正确。
5.若说明:int a[2][3]={1, 2, 3, 4, 5, 6,};,则下面对于变量a的描述中,正确的是:(B) A. a 是一个指向整型数的指针。 B. a 是一个指向含有3 个整型元素的指钨。 C. a 是一个指向含有2 个整型元素的指针。 D. a 是一个指向含有3 个整型元素的指针。 int a[2][3]代表一个二维数组,其中2表示有2个维数,3表示每一维度上有3个元素。因此,a是一个指向含有3个整型元素的指针。选项B正确。
7.若说明:int a=2, ∗p=&a,∗q=p;则以下非法的赋值语句是(D)。 A. p=q; B. *p=*q; C. a=*q; D. q=a; 已知int a=2,*p=&a,*q=p,根据运算符的结合性和优先级,*p=*q合法,意思是将q指向的值赋给p指向的值;a=*q合法,意思是将q指向的值赋给a,p=q合法,意思是将q的值赋给p,最后一个q=a是非法的,q是指向p的指针,a是整型数,无法将整型数赋给指针。因此,选项D不合法。"
2020-04-20 上传
2022-07-11 上传
2022-06-13 上传
2022-11-07 上传
2021-10-03 上传
2022-11-15 上传
黑色的迷迭香
- 粉丝: 779
- 资源: 4万+
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能