当前位置: 代码迷 >> C语言 >> 各位老大,我发个题目,希望大家能给我详细的解答一下!
  详细解决方案

各位老大,我发个题目,希望大家能给我详细的解答一下!

热度:15   发布时间:2005-12-27 11:15:00.0
各位老大,我发个题目,希望大家能给我详细的解答一下!
以下程序运行的结果是_______。
#include <stdio.h>
main()
{
int i=0,j=0;
while (i<10)
i++;

while(j++<10)

printf ("i=%d, j=%d \n" ,i,j)
}
各位觉得这个结果是什么呢?希望给出详细的说明好吗?因为我刚刚才开始学,希望看到过程,而不是看到结果!!!!先在这里谢谢各位回复我的老大们!!!!!!
----------------解决方案--------------------------------------------------------

while(i<10)
i++;
这里对i只作i++处理i就值加当i=10的时候就跳出循环所以最后i的值是10
while(j++<10)
j++;
同i一样j一直加到j=10
不同的是没加一次j就输出一次而i始终是10 不会变

所以最后的结果就是:
i=10,j=1;
i=10,j=2;
i=10,j=3;
i=10,j=4;
i=10,j=5;
i=10,j=6;
i=10,j=7;
i=10,j=8;
i=10,j=9;
i=10,j=10;



[此贴子已经被作者于2005-12-27 11:32:48编辑过]


----------------解决方案--------------------------------------------------------
可是书上给我的答案是I=10,J=11,我只怎么看都不明白呀!晕死了!还有哪位老大有什么意见没有,是不是我的书上的答案有问题哦!
----------------解决方案--------------------------------------------------------
怎么没有人回答我呢?
----------------解决方案--------------------------------------------------------
你写的程序能运行吗?仔细看一下吧!
----------------解决方案--------------------------------------------------------
思路是这样的,你要理解j++与++j的区别
++j在使用j之前,先使j的值加1
j++:在使用j 之后,使j的值加1
你的第二个while语句用的是j++<10,就是说j等于10执行后,程序并没有结束还要执行自加
----------------解决方案--------------------------------------------------------

先谢谢楼上的老大,可是那是书上的例子不是我写的程序呀!!!!


----------------解决方案--------------------------------------------------------
那你运行没有呀?
----------------解决方案--------------------------------------------------------
  相关解决方案