#include <iostream>
using namespace std;
//int sum ( int ap[ ] , int n )
int sum ( int *ap , int n )//用指针和用数组名作为参数,效果是一样的
{
int m = 0 ;
for ( int i = 0 ; i < n ; i ++ )
{
m += * ap ;
ap ++ ;
}
return m;
}
int printfArr23_1(char myArray[10][30], int iNum)//10无作用 30确定其步长
{
int i = 0;
for (i=0; i<iNum; i++)
{
printf("%s \n", myArray[i]);
}
return 0;
}
int printf2Array_2(char myArray[][30], int iNum)
{
int i = 0;
for (i=0; i<iNum; i++)
{
printf("%s \n", myArray[i]);
}
return 0;
}
int printf2Array_3(char (*myArray)[30],int iNum)
//int printf2Array_3(char (*myArray),int iNum)//这个用法是错误的
{
int i = 0;
for (i=0; i<iNum; i++)
{
printf("%s \n", myArray[i]);
}
return 0;
}
void main()
{
int a [ 10 ] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 } ;
cout << "sum = " << sum ( a , 10 ) << endl ;
int i = 0;
char myArray[10][30] = {"ccccc", "aaaa", "bbbb","11111"}; //
printf2Array_2(myArray, 4);//二维数组名同样代表数组首元素的地址
printf2Array_3(myArray, 4);//多维数组名本身就是一个数组指针
system("pause");
}
运行结果