二维数组的首地址 和二维数组的第一个元素的地址的区别
是指针和地址的差别吗??
1 #include <iostream.h>
2 #include <cstdlib> //配合system("PAUSE");用于看调试结果
3
4 int maximum(int[],int);
5
6 int main()
7 {
8 int sg[3][4]={{68,77,73,86},
9 {87,96,78,89},
10 {90,70,81,86}};
11
12 cout <<"the max grade is "
13 <<maximum(&sg[0][0],3*4) //传递第一个元素地址和元素个数
14 <<endl;
15 system("PAUSE");
16 }
17
18 int maximum(int grade[],int num)
19 {
20 int max=0;
21 for(int i=0; i<num; i++)
22 if(grade[i]>max)
23 max=grade[i];
24
25 return max;
26 }
2 #include <cstdlib> //配合system("PAUSE");用于看调试结果
3
4 int maximum(int[],int);
5
6 int main()
7 {
8 int sg[3][4]={{68,77,73,86},
9 {87,96,78,89},
10 {90,70,81,86}};
11
12 cout <<"the max grade is "
13 <<maximum(&sg[0][0],3*4) //传递第一个元素地址和元素个数
14 <<endl;
15 system("PAUSE");
16 }
17
18 int maximum(int grade[],int num)
19 {
20 int max=0;
21 for(int i=0; i<num; i++)
22 if(grade[i]>max)
23 max=grade[i];
24
25 return max;
26 }
如果把第13行的&sg[0][0]改为sg ,就会报错
13 F:\Cpp test\3\7-8.cpp cannot convert `int (*)[4]' to `int*' for argument `1' to `int maximum(int*, int)'
浙公网安备 33010602011771号