指针数组

从百度贴吧拿来的问题,分析下。

 1 #include <stdio.h>
 2 #define  N 6
 3 #define  M 21 
 4 int main()
 5 {    
 6      int a[M],*p[N],k,j,q;       
 7      for(k=0;k<N;k++)
 8      {
 9          q=k*(k+1)/2;
10          p[k]=&a[q];
11      }    
12      for(k=0;k<N;k++)
13      {
14          *(*(p+k))=1;
15         *(*(p+k)+k)=1;
16      }    
17      for(k=2;k<N;k++)        
18         for(j=1;j<k;j++)            
19              *(*(p+k)+j)=*(*(p+k-1)+j-1)+*(*(p+k-1)+j);        
20          for(k=0;k<N;k++)        
21          {
22          for(j=0;k<N;k++) 
23              printf("%4d",*(*(p+k)+j));        
24             printf("\n");    
25          } 
26      return 0;  
27 }  
View Code

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。