c编程???帮帮我!!!

来源:百度知道 编辑:UC知道 时间:2024/05/31 21:45:10
main()
{
int i;j,m=0;
for(i=1;i<=15;i++)
for(j=3;j<=19;j+=4)m++;
printf("%d\n",m);
}上面这个程序是什么什么意思啊,怎么运行后是20;帮我讲一下详细的运行过程好不好,急急啊

先看一下内层循环:for(j=3;j<=19;j+=4) m++;
当j<=19时,m加一,j加4.
所以内层循环是执行了五次,即每执行一次内层循环,m+5
外层循环执行了十五次,结果应该是75.
另外,你第一句写错了,应该是:int i,j,m=0;
最后,为了把稳,我自己执行了一次结果确实是75.
你是不是哪里输错了?

你在什么编译环境下啊?我怎么得出的是75?

for(j=3;j<=19;j+=4)的意思是,循环5次,每次j+4;这样j的值依次为3、7、11、15、19。实际上等同于for(j=0;j<5;j++)。这样循环5次后,m值为5!
而外面的for循环要循环15次!
这样15*5=75

哦,对了,你定义变量时
int i;j,m=0;
注意,i值后面为逗号,而不是分号,这在编译时会报错的!!

结果 75

外面的i循环共循环了15次
里面的j循环使用了3,7,11,15,19的5次, 即m值增加5

所以 15*5 = 75

_____________________________________________
结果为20的程序....

main()
{
int i,j,m=0;
for(i=1;i<=15;i++)m++; /* 此处修改, 不知是不是你要的! */
for(j=3;j<=19;j+=4)m++;
printf("%d\n",m);
getch();
}

int i;j,m=0;你确定编译能通过吗??

你确定结果是20?

内循环for(j=3;j<=19;j+=4) 是5次
外循环for(i=1;i<=15;i++) 是15次

结果应该是 5*15=75

变量m跟随两个循环个循环了一次