C语言编程,题目1:定义一个一维数组,用指针引用的方法对该数组各元素赋值,然后输出该数组。【未完】题目二:已知有一个二维数组的定义及初始化如下;
int iA[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}
编写一个程序,用指向一维数组的指针间接输出该数组的所有元素。
第1个回答 2017-12-14
题目1
void main()
{
int i;
char a[3];
*a=1;
*(a+1)=2;
*(a+2)=3;
for(i=0;i<3;i++)
{
printf("%d.\n",a[i]);
}
return;
}
题目二
#include<stdio.h>
void main()
{
int i,j;
int A[3][4]=
{
{1,2,3,4},
{5,6,7,8},
{9,10,11,12}
};
int (*p)[4]=A;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
printf("%d.\n",*(*(p+i)+j));
}
}
return;
}追问
void main()
{
int i;
char a[3];
*a=1;
*(a+1)=2;
*(a+2)=3;
for(i=0;i<3;i++)
{
printf("%d.\n",a[i]);
}
return;
}
题目二
#include<stdio.h>
void main()
{
int i,j;
int A[3][4]=
{
{1,2,3,4},
{5,6,7,8},
{9,10,11,12}
};
int (*p)[4]=A;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
printf("%d.\n",*(*(p+i)+j));
}
}
return;
}追问
题目一,帮我看看一处错误在哪里?你发给我的我这个编程器报错2,警告1
#include
int main(void)
{
int a[5],i;
int *p;
p=a;/*p=&a[0];*/
for(i=0;i<5;i++)
scanf("%d",p++);
p=a;
for(i=0;i<5,i++)
printf("%d\t",*(p-i));
}
第一题我没调试,我改好了
#include
void main()
{
int i;
char a[3];
*a=1;
*(a+1)=2;
*(a+2)=3;
for(i=0;i<3;i++)
{
printf("%d.\n",a[i]);
}
return;
}