各位老大,我发个题目,希望大家能给我详细的解答一下!
以下程序运行的结果是_______。#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执行后,程序并没有结束还要执行自加
----------------解决方案--------------------------------------------------------
先谢谢楼上的老大,可是那是书上的例子不是我写的程序呀!!!!
----------------解决方案--------------------------------------------------------
那你运行没有呀?
----------------解决方案--------------------------------------------------------