实践如下:
#include <iostream> using namespace std; #define N 4 // 数组指针 又称行指针 void minValueInRow(int (*a)[N], int rowCount){ int minValue,hold; for(int i = 0; i<rowCount; i++){ // 该行的第一个元素的值,即*(*(a+i)+0) minValue = *(*(a+i)); // 不用从0,从1开始,遍历该行的所有元素 for(int j=1;j<N;j++){ // 第i行j列的元素 hold = *(*(a+i)+j); if(hold<minValue){ minValue = hold; } } cout<<"line: "<<i<<"the min number is "<<minValue<<endl; } } int main(){ cout << "向量中最小值实践:" << endl; int a[3][N]; int (*p)[N]; p = &a[0]; cout<<"please input:"<<endl; for(int i = 0;i<3;i++){ for(int j=0;j<N;j++){ cin>>a[i][j]; } } // 将第一行的行指针传入,并指明有几行 minValueInRow(p,3); cout << "end." << endl; return 0; }
输入: