我编了一个这样的程序,目的是要求出图中长度为m的通路的条数,图以矩阵的形式给出,由使用者直接输入
但每次,运行之后得到的却不是相关的结果 ,结果是这样的
input:
1 0 0
0 0 1
0 1 0
input the distance of the road m=1
the road number is:30038 null pointer assignment
程序是这样的:
#include<stdio.h>
main()
{
int result=0;
int a[3][3];
int m,i,j;
int c,d;
int count;
int *b;
int *a1;
int *road;
a1=a[0];
road=&c;
b=&d;
printf("input:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<9;i++)
*(b+i)=*(a1+i);
printf("input the distance of the road m=");
scanf("%d",&m);
count=0;
do{
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
*(road+i*3+j)=a[i][0]*(*(b+0+j))+a[i][1]*(*(b+1*3+j))+a[i][2]*(*(b+j+2*3));
}
}
for(i=0;i<9;i++)
*(b+i)=*(road+i);
count++;
}while(count<m);
for(i=0;i<9;i++)
result+=*(road+i);
printf("the road number is:");
printf("%d",result);
}
----------------解决方案--------------------------------------------------------