用2维数组 指针写 杨辉三角...
偶只会用最普通的方式写...指针还真想不出.
#include<stdio.h>
#define M 100
void main()
{
int a[M][M],n,i,j;
printf("Input n:");
scanf("%d",&n);
for(i=0;i<n;i++) {*(*(a+i)+0)=1;*(*(a+i)+i)=1;}
for(i=2;i<n;i++)
for(j=1;j<i;j++)
*(*(a+i)+j)=*(*(a+i-1)+j-1)+*(*(a+i-1)+j);
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
printf("%5d",*(*(a+i)+j));
printf("\n");
}
}
#include<stdio.h>
#define M 100
void main()
{
int a[M][M],n,i,j;
printf("Input n:");
scanf("%d",&n);
for(i=0;i<n;i++) {*(*(a+i)+0)=1;*(*(a+i)+i)=1;}
for(i=2;i<n;i++)
for(j=1;j<i;j++)
*(*(a+i)+j)=*(*(a+i-1)+j-1)+*(*(a+i-1)+j);
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
printf("%5d",*(*(a+i)+j));
printf("\n");
}
}
我是初学者,看得不太明白?
请问: {*(*(a+i)+0)=1;*(*(a+i)+i)=1;} 这是什么意思?能讲解一吗?