首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一道经典的C/C++面试题,该如何处理

2012-02-04 
一道经典的C/C++面试题问以下两段代码哪个执行效率高,为什么?1)int aa[10][100]//aa初始化int sum0for(

一道经典的C/C++面试题
问以下两段代码哪个执行效率高,为什么?
1)int aa[10][100];
  //aa初始化
int sum=0;
for(int i=0;i<10;i++){
for(int j=0;j<100;j++){
sum+=aa[i][j];
}
}
2)int aa[10][100]={1};
  //aa初始化
int sum=0;
for(int j=0;j<100;j++){
for(int i=0;i<10;i++){
sum+=aa[i][j];
}
}

[解决办法]
第一个好
在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数。
高质量C/C++编程指南P29上有说明!

热点排行