main() {int i; for(i=1;i<=40;i++) {if(i++%3=0) if (++i%8=0) printf("%d",i); 输出后为什么要832

如题所述

第1个回答  2011-11-26
我自己调试了下,文字解析如下(主要解释结果是 8 的情况):
#include "stdio.h"
main()
{
int i;
for(i=1;i<=40;i++)
{
if(i++%3==0) // 这个时候i=6 先取余运算 ;满足条件条件,然后将i+1=7;
if (++i%8==0) //这里是先将i+1然后取余,i+1后得8;满足条件、
printf("%d\n",i); //打印出来就是8
}
}
第2个回答  2011-11-26
自己可以算,一轮轮试着,只有8和32时满足
#include "stdio.h"
main()
{int i;
for(i=1;i<=40;i++)
{if(i++%3==0)
if (++i%8==0)
printf("%d\n",i);
}
}本回答被提问者采纳
第3个回答  2011-11-26
调试模式下看运行时每个数的变化。。。。追问

额,不是就是不明白怎么算出来的。。。。。。- -这是个题....

追答

if(i++%3=0) if (++i%8=0)你确定这里是这样写的么。。。。。。

main() {int i; for(i=1;i<=40;i++) if(i++%5==0) if(++i%8==0) pr...
而后面那个就翻译成两句话:i=i+1(运算);i%8==0(判断条件)。根据先后顺序,两个判断条件如果合到一起就变成{i%5==0;i=i+1;i=i+1;i%8==0},从左到右依次再合并变成三句话,{i%5==0;i=i+2;i%8==0;}再进一步合并就成了两个判断条件{i%5==0,(i=i+2)%8==0...

main() {int i; for(i=1;i<=40;i++) if(i++%5==0) if(++i%8==0) pr...
首先会循环40次:从i=1到i=40,当i=1;的时候,先执行if(i++%5==0),其中i++表示先是用i当前的值,然后在加一,即if(i++%5==0)等价于if(i%5==0),i++;显然i=1,不成立(此时i已经等于2了)那么就执行下次循环,此时的i=3了,还是、、、最后当i=30的时候,if(i++%5==0)满...

main() { int i; for(i=1;i<=40;i++) { if(i++%5==0) if(++i%8==0...
i++%5==0,i=5.10.15.20.25.30.35.40i++后,为6.11.16……在++i为7.12.17……%8==0只有32

main() {int i; for(i=1;i+1;i++) {if(i>4) {printf("%d\\n",i); br...
static int a[8][8];int i,j,x=0;for(i=0;i<3;i++)for(j=0;j<3;j++)a[i][j]=2*i+j;for(i=0;i<8;i++)for(j=0;j<8;j++) \/\/应该加上这行的。x+=a[i][j];printf("%d",x);2 程序分析:for(i=0;i<3;i++)for(j=0;j<3;j++)a[i][j]=2*i+j...

main() { int i;for (i='A';i<'I';i++) printf("%c",i+32);printf("\\...
小写的a到i不包含i

#include<stdio.h> main(){int i;for (i=1;i<5;i++)
首先i=1,i%2=1,执行printf(" * "),然后执行printf("#");,进入下一个循环;其次i=2,i%2=0,执行else continue,直接进入下一个循环;再次i=3,i%2=1,执行printf(" * "),然后执行printf("#");,进入下一个循环;第四i=4,i%2=0,执行else continue,直接进入下一个循环;第...

C语言#include<stdio.h> void main(void) { int i; for(i=1;i...
当i等于1、3、5都会打印 因为那个打印$的语句在if的后面,不属于if

...for(i=1;i<=3;i++) {for(j=1;j<=10;j++) {printf(“%d”,i); if...
你的程序,没有定义j这个变量,另外printf(“%d”,i);里的引号应该用英文的引号,你这里用了中文的引号,编译出错。整个程序就是,外部循环循环3次,内部循环循环5次(因为在j==5时跳出了循环)

...main() {int i; for(i=1;i<10;i++) printf("%d\\n",i); }
程序执行完了自然就退出了,你在代码最后加上getchar();试试,不要加在for循环体里

#include"stdio.h" main() {int i; for(i=1;i<=5;i++
for(i=1;i<=5;i++ )里面的第二个分号是中文的分号,错了。改正就可以。

相似回答
大家正在搜