作者supercygnus (......)
看板Programming
標題[問題] 二維陣列用指標找最大值
時間Mon Jun 13 14:07:07 2011
#include<iostream>
#include<cstdlib>
#include<string>
#include<iomanip>
using namespace std;
int main(void){
int a[2][3]={{13,24,89},{3,6,10}};
int m,n;
int max,min;
for(m=0;m<2;m++){
for(n=0;n<3;n++){
max=*(*(a+0)+0);
if(*(*(a+m)+n)>max){
max=*(*(a+m)+n);}
} }
for(m=0;m<2;m++){
for(n=0;n<3;n++){
min=**a;
if(*(*(a+m)+n)<min){
min=*(*(a+m)+n);}
} }
cout<<max<<endl;
system("pause");
return 0;
}
以上是我的程式碼,但是跑出的結果cout<<max,竟然還是13,為什麼???
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.136.211.19
→ syura945:max=*(*(a+0)+0); ? 60.251.194.61 06/13 14:42
→ syura945:你每次都重取max=a[0][0]=13 60.251.194.61 06/13 14:42
→ syura945:最後13和a[1][5]=10比 結果當然是13啊 60.251.194.61 06/13 14:43
→ supercygnus:對吼,好白癡喔我= = 140.136.211.19 06/13 15:13
→ supercygnus:把max=*(*(a+0)+0);寫在迴圈外就可以 140.136.211.19 06/13 15:15