标题:求运行结果问题,请好心人帮助解答
只看楼主
arsenic
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-1-24
 问题点数:0 回复次数:7 
求运行结果问题,请好心人帮助解答
我遇到一程序是
main()
{
int i,j=4;
for(i=j;i<=2*j;i++)
switch(i/j)
     {
case 0:
case 1: printf("*");break;
case 2: printf("#");
      }
}
结果是****#,请问最后一个符号#是怎么得出来的。谢谢
搜索更多相关主题的帖子: 解答 运行 结果 
2005-01-29 18:43
PigKing
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2004-9-17
得分:0 
当 i 等于8时,运行case2 ,输出#
2005-01-29 22:53
arsenic
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-1-24
得分:0 
i=8时 i/j应该等于1啊。应该执行case 1,然后break;才对啊。为什么要执行case 2呢。
2005-01-29 23:48
呆派祖师
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2005-1-30
得分:0 
以下是引用arsenic在2005-1-29 23:48:08的发言: i=8时 i/j应该等于1啊。应该执行case 1,然后break;才对啊。为什么要执行case 2呢。
i=8时, j=4是固定的啊, i/j应该等于2啊。应该直接执行case 2

2005-01-30 08:50
pepsicola
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-1-28
得分:0 
是啊,j一直是4没变过,当i=8的时候,i/j=2,所以执行printf("#")

2005-01-30 22:33
giggs
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-1-29
得分:0 
i=8是得到i/j等于2 所以有#
2005-01-31 17:33
lmr
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-12-9
得分:0 
不小心,来错了

[此贴子已经被作者于2005-2-1 14:42:15编辑过]


2005-02-01 14:40
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 
哦,不小心,看错了

淘宝杜琨
2005-02-01 17:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-11842-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.709114 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved