void scanf_max(int p[a][b])
{
int i, n;
int* q;
float z , ave = 0;
for (i = 0; i < a; i++)
{
q = p[i];
printf("qq%d\n",*q);
for (n = 0; n < b; n++)
{
z =*q; //这行不能把指针q指向的数据传输给z,换成其他的也不行,求解。
printf("p%d\n",*q);
printf("p%d\n", z );
q++;
if (z > ave)
{
ave = z;
}
else
ave = ave;
}
}
printf("The max is %d",ave);
}
z是浮点型, printf("p%d\n", z );是错误的
printf("p%f\n", z );
或者把z改为整型
注意 ave z 与 q 的数据类型,修改如下,供参考:
void scanf_max(int p[a][b])
{
int i, n;
int* q;
float z , ave = 0;
for (i = 0; i < a; i++)
{
q = p[i];
printf("qq:%d\n",*q);
for (n = 0; n < b; n++)
{
z = (float)*q; //这行不能把指针q指向的数据传输给z,换成其他的也不行,求解。
printf("p: %d\n",*q);
printf("z: %f\n", z ); //printf("z: %d\n", z );
q++;
if (z > ave)
{
ave = z;
}
//else
// ave = ave;
}
}
printf("The max is %f",ave); //printf("The max is %d",ave);
}