标题:怪现象
只看楼主
学技术的
Rank: 2
等 级:论坛游民
帖 子:91
专家分:45
注 册:2007-8-5
结帖率:100%
 问题点数:0 回复次数:11 
怪现象


下面是输出1、2、3、4组成的无重复数字的三位数的个数。



main()
{int i,j,k,total,n=0;
for(i=1;i<5;i++)
for(j=1;j<5;j++)
for(k=1;k<5;k++)
{ if(i!=j&&i!=k&&k!=j)
{
printf("%d%d%d\n",i,j,k); //这里的\n
total=n++;
}
}
printf("%d",total);
}

上面的\n加上后为什么计数n++就不准了,把\n换成空格就好了,哪位大侠给指点下。

[此贴子已经被作者于2007-8-5 17:16:22编辑过]

搜索更多相关主题的帖子: 现象 
2007-08-05 17:02
小野猫
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-7-13
得分:0 
请问你定义的n在哪里?

2007-08-05 17:11
学技术的
Rank: 2
等 级:论坛游民
帖 子:91
专家分:45
注 册:2007-8-5
得分:0 

不好意思,我的原程序上是有n的。在这里写漏了,下面是复制过来的



下面是输出1、2、3、4组成的无重复数字的三位数的个数。

main()
{int i,j,k,total,n=0;
for(i=1;i<5;i++)
for(j=1;j<5;j++)
for(k=1;k<5;k++)
{ if(i!=j&&i!=k&&k!=j)
{
printf("%d%d%d\n",i,j,k); //这里的\n
total=n++;
}
}
printf("%d",total);
}

上面的\n加上后为什么计数n++就不准了,把\n换成空格就好了,哪位大侠给指点下。

2007-08-05 17:17
totohack
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2007-7-15
得分:0 
没什么变化啊,只不过换行而已,
printf("%d",total); 的结果都是23

2007-08-05 21:43
totohack
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2007-7-15
得分:0 
total=n++; 这句应该该为 total=++n;

2007-08-05 21:46
czl
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2007-7-1
得分:0 

原帖没错 鉴定完毕

2007-08-06 08:42
zbqf109
Rank: 1
等 级:新手上路
帖 子:289
专家分:0
注 册:2006-12-31
得分:0 
既然用n计数,那么还设置totel干什么?
再说,totel也没有初始化。

坚决不跟用TC的人打交道!
2007-08-06 13:36
一个低手
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-8-6
得分:0 
LZ最好把2次输出不一样的记过贴出来
2007-08-06 14:11
lishizelibin
Rank: 2
等 级:论坛游民
帖 子:513
专家分:41
注 册:2007-5-10
得分:0 
直接n++

惟有学习不断的学习!
2007-08-06 14:14
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
得分:0 
顶一个!!!


total=n++; 这句应该该为 total=++n!!

既然用n计数,那么还设置totel干什么?
再说,totel也没有初始化。

同意

要练习算法就来http:///!!有挑战哦!!
2007-08-06 14:14



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




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

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