首页 > 试题广场 >

有以下程序 #include &...

[单选题]
有以下程序
#include<stdio.h>
int main(){ 
    int sum; 
    for(int i=0; i<6; i+=2){ 
        sum=i; 
        for(int j = i; j<6; j++){
            if(i+j>5) continue;
            sum+=j;
        } 
    }     
    printf("%d",sum);
    return 0; 
} 
程序运行后的结果是()
  • 4
  • 3
  • 5
  • 2
外层循环一开始是赋值语句,故本题内层循环没用。
发表于 2018-12-21 18:32:50 回复(0)
这是一个两重的for循环,每当内层循环完毕 跳转到外层循环时,sum都被重新赋值为i,因此内层的循环中sum的值累加到多少都不重要,主要还是看外层的
发表于 2021-04-20 09:16:43 回复(0)
里面的那个for循环其实完全没有用,主要看外面的for循环,第一次 i=0,sum也为0,第二次i=0+2,所以sum=2,第三次i=2+2=4,所以sum=4,第四次i=4+2=6,满足i<6,所以结束for循环,此时sum还是等于4
发表于 2020-10-02 20:34:18 回复(0)
每层都计算那计算量就太大了,sum=i,重新被赋值。结果白算。i=2跳出循环,算都不用算
发表于 2023-02-16 12:51:49 回复(2)
先看第一个for循环的内容,sun=i,在i=0,2的时候,内嵌的for循环不需要看,因为在i=4时会重新计算,因此只需要直接计算i=4的时候的循环体就可以了
发表于 2021-05-16 15:56:24 回复(0)
没有注意看 i+=2;按照i++来算的。
发表于 2020-08-14 09:12:50 回复(0)
要不是算出来的结果不对,就差点被内循环忽悠了
发表于 2020-08-12 17:30:15 回复(0)
<p>内层循环,j赋值</p>
发表于 2020-07-10 08:59:33 回复(0)
被括号耽误了
发表于 2020-04-30 08:38:43 回复(0)
每次循环sum都重新赋值,直接考虑最后一次循环i=4,赋值给sum,内部的循环每次都跳出,最后结果就是4
发表于 2020-03-13 10:26:59 回复(0)
sum在外面那个for内每次都会重新赋值,因此直接考虑i=2,j=2满足内层for的if语句最大情况,故sum=4
编辑于 2020-02-25 20:46:18 回复(0)
讲真,代码风格能不能整齐些,我快看吐了
发表于 2020-02-13 13:37:44 回复(0)