看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《MAIDic (咩滴可)》之銘言: 你原本程式在function中存取陣列,邊界限制卻要去看全域變數,這樣不太好, 所以我在function的參數中增加兩個, 讓你把array大小傳進去 #include <stdio.h> #include <stdlib.h> void locateLargest(double** p_array, unsigned int p_row, unsigned int p_col); int row; int col; double** array; int main() { int i,j; scanf("%d",&row); scanf("%d",&col); //*********dynamic memory allocate********* array = (double**)malloc(row*sizeof(double*)); for(i=0;i<row;i++) { *(array+i)=(double*)malloc(col*sizeof(double)); } //*********dynamic memory allocate******** for(i=0;i<row;i++) { for(j=0;j<col;j++) { scanf("%lf",*(array+i)+j); } } locateLargest(array,row,col); //free就不寫了 } void locateLargest(double** p_array, unsigned int p_row, unsigned int p_col) { double max=0; unsigned int i,j,x,y; for(i=0;i<p_row;i++) { for(j=0;j<p_col;j++) { if(*(*(p_array+i)+j)>max) { max=*(*(p_array+i)+j); x=i; y=j; } } } printf("%d%d",x,y); } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.75.0.237 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1419125596.A.AB6.html ※ 編輯: deo2000 (42.75.0.237), 12/21/2014 09:38:51