Warning: Suspicious pointer conversion in function main
c语言中出现这种情况的原因是什么?
我是在运行这个程序是出现的这种情况:
#include<stdio.h>
main()
{
int a[5][5],b[5][5];
int i,j,k,m,n;
int c;
int count,exam;
int *a1;
int *b1;
int *road;
a1=a;
b1=b;
road=&c;
printf("input the in the form of:\n");
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
for(i=0;i<25;i++)
*(b1+i)= *(a1+i);
count=1;
do{
exam=0;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
for(k=0;k<5;k++)
b[i][j]+=a[i][k]*b[k][j];
}
}
for(i=0;i<25;i++)
exam+=*b1+i;
if(exam!=0)
count++;
for(n=0;n<25;n++)
*(road+count+1)+=*(b1+i);
}while(exam!=0);
for(i=0;i<25;i++)
*(road+1)+=*(a1+i);
printf("number of road:");
scanf("%d",&m);
printf("%d",*road+m);
}
----------------解决方案--------------------------------------------------------
a1=a;
b1=b;
这两句有问题吧。
改为:
a1=a[0];
b1=b[0];
----------------解决方案--------------------------------------------------------
谢谢楼上的
----------------解决方案--------------------------------------------------------
road=&c;可以这样用吗?请指教!
----------------解决方案--------------------------------------------------------
应该可以吧,&c,与road的类型是一样的(int)
----------------解决方案--------------------------------------------------------
a1=a;
b1=b;
这两句有问题吧。
改为:
a1=a[0];
b1=b[0];
这两句的作用应该一样吧?都是数组的首地址
----------------解决方案--------------------------------------------------------
void main()
{
.....
a1=(int *)a;
b1=(int *)b;
....
}
----------------解决方案--------------------------------------------------------
LZ的 2维数组的指针问题 根本没弄明白
2维数组 还有 行首地址问题 不能象1维数组一样使用首地址的
----------------解决方案--------------------------------------------------------