疑难问题
时间:2020/11/21
运行软件:VS2019
#include <stdio.h>
int main()
{
int a[3][3] = { {1,2,3},{4,5,6},{7,8,9} };
int i, j;
void T(int a[][3]);
printf("原数组为:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
printf("%d,", a[i][j]);
}
printf("\n");
}
T(a);
printf("转换后为:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
printf("%d,", a[i][j]);
}
printf("\n");
}
return 0;
}
运行结果为:
问题:
1、没有转换
2、弹出停止工作窗口
当形参换成二维数组
#include<stdio.h>
int main()
{
int max,i;
int findmax(int a[3]);
int a[3] = { 1,2,3 };
max = findmax(a);
for (i = 0; i < 3; i++)
{
printf("%d\n",a[i]);
}
return 0;
}
int findmax(int a[3])
{
int i, max;
max = a[0];
for (i = 0; i < 3; i++)
{
if (a[i] > max)
max = a[i];
}
return 0;
}
结果显示:无任何问题
那为什么会产生这两种结果呢?