首页 > 试题广场 >

下列程序段的输出结果是() int main(viod)

[单选题]
下列程序段的输出结果是()
int main() { 
    for(int i=1;i<6;i++) { 
        if( i%2 != 0) { 
            printf("#");
            continue; 
        } 
        printf("*");
    } 
    printf("\n"); 
    return 0; 
} 

  • #*#*#
  • #####
  • *****
  • *#*#*
这题在考continue。
continue 会致使循环跳过循环体中余下的语句,转而判断循环条件是否仍然成立,然后选择是否再次进入循环体。
一开始i等于1,1对2取余,值为1,不等于0,执行括号内的内容,printf("#");   continue;这时,printf("*");不会再执行。
然后i加一,i等于2,2对2取余,值为0,等于0,if语句不执行。直接执行后面的printf("*");语句。
然后i加一,到此时,i的值为3,依旧小于6,for循环继续。
后面的步骤同上。

这个题目可以稍作修改,比如,把if语句里面的continue注释掉,输出为#**#**#*
如果将continue改为break,则输出为#

发表于 2018-08-27 16:44:25 回复(0)
选择题有选择题的思路。首先判断是#然后是*。答案显然。
发表于 2018-07-14 17:55:23 回复(0)
没注意看到还有个感叹号!逻辑非了,可惜
发表于 2021-06-22 21:43:29 回复(0)
continue用法不懂
发表于 2020-11-27 11:57:13 回复(0)
D
发表于 2019-11-08 00:11:38 回复(0)