我遇到了这个问题,我有点困惑。给出了两个代码,询问哪个需要更多时间,或者两者是否需要相同的时间。代码是:
void sumCal(int n,int a[][]){
int sum=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
sum=sum+a[i][j];
}
}
}
或者
void sumCal(int n,int a[][]){
int sum=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
sum=sum+a[j][i];
}
}
}
据我所知,这取决于内存布局,内存是按行为主还是按列为主。这是正确的答案吗?