C语言小题,输出二维数组任一行任一列元素的值。(指向由m个元素组成的一维数组的指针变量)

前言:
此篇是针对 指向由m个元素组成的一维数组的指针变量 方面的练习。

解题思路:
假设仍然用上篇程序中的二维数组,上篇中定义的指针变量是指向变量或数组元素的,现在改用指向一维数组的指针变量。

正文:

#include<stdio.h>
int main() {
	int a[3][4]= {1,3,5,7,9,11,13,15,17,19,21,23};	//定义二维数组a并初始化
	int (*p)[4],i,j;					//指针变量p指向包含4个整型元素的一维数组
	p=a;											//p指向二维数组的0行
	printf("please enter row and colum:");
	scanf("%d,%d",&i,&j);							//输入要求输出的元素的行列号
	printf("a[%d,%d]=%d\n",i,j,*(*(p+i)+j));		//输出a[i][j]的值
	return 0;
}

程序分析:
程序第4行中“ int(p)[4] ”表示定义 p 为一个指针变量,它指向包含4个整型元素的一维数组。注意p两侧的括号不可缺少,如果写成 *p[4],由于方括号[ ]运算级别高,因此 p 先与[4]结合,p[4]是定义数组的形式,然后再与前面的 * 结合,*p [4]就是指针数组。

总结:
运行结果:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超级Mr Yin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值