A.从第一条语句开始
B.从程序开头开始
C.从主函数开始
D.不知道
正确老嫌祥答案:者宽从主函数开始
for多重循环的执行顺序是先执行内部循环,再执行外部循环
通过对代码进行等价转换,按照上述原理即可知道代码的执行顺序
对于上面代码:
for(i=0i<8i++)for(j=0j<10j++)
scanf("%d,%d",&i,&j)
它等价于下面
for(i=0i<8i++){for(j=0j<10j++){
scanf("%d,%d",&i,&j)
}
}
从上面可以看出,每执行完一次j循环,i的值才增加1
闷亏 但闹灶是注意,该代码有一个陷阱:scanf函数会改变i和j的值
实际执行顺序会受用户输入的i、j值的不同而不同蚂弯神
对于下面的代码
for(i=0i<8)min_m(i++)=i
for(j=0j<8j++)
它等价于下面的代码:
for(i=0i<8){min_m(i++)=i
}
for(j=0j<8j++){}
会先执行min_m函数8次 然后再执行j循环
注意,该代码有一个问题,就是min_m函数的返回值必须是一个左值。
这意味着某些变量的值发生了更改,可能会影响到循环。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)