bycj.net
当前位置:首页 >> int sum=0,i; For(i=1;i<=4;i++){ switCh(i){ >>

int sum=0,i; For(i=1;i<=4;i++){ switCh(i){

case 1: sum=sum+2; break; case 2: sum=sum+4; break; case 3: sum=sum+16; break;

1 输出: 52 分析:void main() { int a=0,i; for(i=1;i<4;i++); //这个地方有分号,执行完后i=5,后面的switch只执行1次. { switch(i) { case 0: case 3: a+=2; case 2: a+=3; case 1: default:a+=5; //因为i=5,就执行这行. } } printf("%d\n",a); //输出5. getch(); }

就是前10个输求和啊 1+2+3+……10=??55??

我只知道最后i肯定变成了5解析如下: 在switch语句里有i++,所以for循环的计数变量i在循环体内就被改动,导致循环提前退出.当for循环从0开始循环,switch语句有匹配的 标号,自匹配的标号到swich语句结束,执行各个case语句,当switch语句结束时,i的值已经为4,再加上for循环的自增1,i值已经为5, 所以不再满足循环条件,退出循环.

#include<iostream.h> void main() { int i; int sum=0; for(i=1;i<=100;i++) sum=sum+i; printf("\n%d",sum); } 这样就对了..你仔细对比一下!,和;是不一样的!main 要加void等等!

if是条件语句.没有循环语句for、do、while,sum=sum+1只执行1次,故sum=1

sum+=1; //1改为i才对.printf("%f",&sum); //%f改为%d ,&去掉.

int sum = 0; for(int i = 1; i < 10; i++){// 从1到10,如果除以2的余数不是0,就累加 if(i%2!=0) { sum+=i; } } System.out.println(sum);

这是一个求和的c语言程序,意思是从1开始加,一直加到100等于多少,即1+2+3+100=?运行的结果应该是sum=5050.i,sum定义为整型变量,执行sum=sum(之前的)+i计算过程,每执行一次,i的值加1.

i=0;[i=0],i<3成立, 开始循环: switch(i), default:分支, 输出[0] i++;[i=1],i<3成立, 继续循环: switch(i), case 1:分支, 总输出[01], 顺序case 2:分支, 总输出[011], 顺序default:分支, 总输出[0111] i++;[i=2],i<3成立, 继续循环: switch(i), case 2:分支, 总输出[01112], 顺序default:分支, 总输出[011122] i++;[i=3],i<3不成立, 结束循环因此输出为: 011122

相关文档
prpk.net | hyqd.net | xmjp.net | nnpc.net | famurui.com | 网站首页 | 网站地图
All rights reserved Powered by www.bycj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com