int i ,a=0,b=0 for i=1 i<10 i++) { if (i%2==0) {a++; continue;} b++;} printf("a=%d,b=%d",a,b);}

这个程序每一步是怎么样运行的 看不到 求高手指教

你的程序打错了
int i ,a=0,b=0; //这里少了个分号
for( i=1 i<10 i++) { //for后面少了个小括号
if (i%2==0)
{
a++;
continue;
}
b++;
}
printf("a=%d,b=%d",a,b);
从i=1开始执行循环,进行if判断,如果i是个偶数那么执行a++,不执行b++,直接进入下一次循环,如果i是个奇数,直接执行b++,如此循环,一直到i>10,循环结束,输出a和b的值
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-02
刚开始
a=0; b=0;

i=1:(i不能被二整除)只执行b++,即此时a=0,b=1;
i=2;(i可以被二整除)只执行a++,即此时a=1,b=1;
…………
也就是说当i能被二整除时,a自增,否则b自增,这也就表明a记录的是从1到10中偶数的个数,b记录的是奇数的个数,结果当然是各为5了!
希望可以帮到你!
第2个回答  2013-01-02
continue在这里的作用是当if执行时b 不执行,然后回到for的括号里执行i ,然后判断a<10,然后执行循环语句。你去查查continue和break的用法。
第3个回答  2013-01-02
c语言编译器对程序是由上至下逐行编译的,你把你写的程序当做一篇文章从上向下阅读就是它的实现过程。遇见循环就把循环体那部分执行,直到跳出。

int i ,a=0,b=0 for i=1 i<10 i++) { if (i%2==0) {a++; continue;} b...
你的程序打错了 int i ,a=0,b=0; \/\/这里少了个分号 for( i=1 i<10 i++) { \/\/for后面少了个小括号 if (i%2==0){ a++;continue;} b++;} printf("a=%d,b=%d",a,b);从i=1开始执行循环,进行if判断,如果i是个偶数那么执行a++,不执行b++,直接进入下一次循环,如...

...for(i=1;i<10;i++) {if(i%2==0) {a++;continue} b++;} 中{a++;c...
{a++;continue;}是if语句的语句体,作用是当程序执行到continue时跳出if语句,又开始执行for循环,而不执行下面的语句b++。

求C语言1-10奇数和偶数之和(急)
include<stdio.h> main(){ int a,b,i;a=0;b=0;for(i=0;i<=10;i=i+2)a=a+i:for(i=1;i<=10;i=i+2)b=b+i;printf("偶数之和=%d\\n",a);printf("奇数之和=%d\\n",b);}

C语言 有关switch,case问题Int i,a=0,b=0,c=0;
a,b,c 变化如下。i=0 a=1,b=1,c=0 i=1 a=1,b=2,c=0 i=2 a=1,b=3,c=0 i=3 a=1,b=3,c=1 i=4 a=1,b=3,c=2

int i; for(i=1;i<=10;i++) { System.out.println(i); } 为什么把中间...
i<=10是循环终止条件,必须是逻辑表达式,而i=10为赋值语句,不是逻辑表达式,i==10才是c语言中判断i是否等于10的逻辑表达式。

for(i=1;i<=20;i++) if(i%2==0) 里面的i是什么,后面的那个怎么判断的啊...
for(i=1;i<=20;i++) if(i%2==0) 里面的i 是个变量,,后面的判断是 ,如果i除以2的余数与0相等 i是控制变量,代表月数(也就是该程序所计算的是20个月内兔子的数量)判断的用处在于换行, if(i%2==0) printf("\\n");\/*控制输出,每行四个*\/ ...

...一下,for(int i=1;i<=10;i++){ for()int j=1;j<=i;j++} 的含义吗...
就是循环。。。for(int i=1;i<=10;i++) 这个代表定义一个变量i,并赋给它初始值为1,分号中间的代表循环的条件,最后一个代表循环的内容。就是说,第一次循环:i的值为1,符合i<=10这个条件,就先执行中括号里面的东西(稍后再讲),然后再执行i++(就是i加一),这样到了下一次循环,i...

int i; for(i=1;i<10;i+=2) { if(i%3==0) printf(
如果if中的条件(i能被3整除)不成立,就结束本次循环(注意不是退出循环)并开始下一次循环。

...a=0; int b=0; int i=0; for(;i<10;i++) { i=2*a+b; a+=1; b+=...
int a=0;int b=0;int i=0;for(;i<10;i++){i=2*a+b;\/\/01a+=1;\/\/02b+=1;\/\/03}System.out.println(2*a+","+b+",");System.out.println(i);\/*程序执行分析 * 刚开始的时候,a,b,i均为0进入循环体,第一次进入的时候,执行到01的时候i= 2*a+b 此时 i==0 执行...

int a=0,b=1,c=1; if(a++==b&&++a!=b) a=b++ + ++c+1; Question:执行该...
先判断if里的是0还是非0 a++这个式子是0,但a=1;所以a++!=b。所以if里面为0(有&&时,只要有一个式子是0则整个为0)。所以不执行后面的a=b++ + ++c+1;所以a=1.这个正解。

相似回答