马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 风过无痕1989 于 2020-9-3 10:16 编辑
下面这个程序运行是正确的,请帮我将最后两个形式的输出(输出的格式不要改变)中的指针变量 q 改为用指针变量 p 。改得了则改,若改不了,则给出一个结论性的小结
#include <stdio.h>
int main()
{
int a[3][4] = {1,3,5,7,9,11,13,15,17,19,21,23};
int *p,i,j; // p是int*型整型变量
int (*q)[4]; // q是指向包含4个整型元素的一维数组的指针变量
p = a[0]; // p指向0行0列元素地址
q = a; // q指向二维数组的0行
scanf("%d,%d",&i,&j); // 指定要输出的数组的行和列
printf("a[%d,%d] = %d\n",i,j,*(*(a + i) + j)); // 输出指定元素a[i][j]的值
printf("a[%d,%d] = %d\n",i,j,*(p + i * 4 + j)); // 输出指定元素a[i][j]的值
printf("a[%d,%d] = %d\n",i,j,*(*(q + i) + j)); // 输出指定元素a[i][j]的值
return 0;
}
没明白你要改成什么
这句是什么意思?
现在你的程序是三中索引方式,第一种是数组名索引,第二种是一维指针索引,第三种是数组指针索引
不知道你要将什么改为什么
|