标题:为什么要输两遍 n 谢谢
只看楼主
不再等待
Rank: 1
等 级:新手上路
帖 子:4
专家分:5
注 册:2010-7-25
结帖率:100%
已结贴  问题点数:20 回复次数:7 
为什么要输两遍 n 谢谢

#include<stdio.h>
void star()
{printf("******\n");
}
void main()
{int i,j,n;
printf("input ");
scanf("%d\n",&n);
for(i=1;i<=n;i++)
{for(j=1;j<=2*i-1;j++)printf(" ");
star();
}
for(i=n-1;i>=1;i--)
{for(j=1;j<=2*i-1;j++)printf(" ");
star();}
}
搜索更多相关主题的帖子: star void 
2010-07-29 00:15
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
得分:5 
scanf("%d\n",&n); -> scanf("%d",&n);
试试看
收到的鲜花
2010-07-29 00:31
灰色代言
该用户已被删除
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-07-29 00:40
不再等待
Rank: 1
等 级:新手上路
帖 子:4
专家分:5
注 册:2010-7-25
得分:0 
删了\n就对了,为什么?
2010-07-29 08:25
ggyy4k
Rank: 5Rank: 5
等 级:职业侠客
帖 子:111
专家分:334
注 册:2010-6-28
得分:5 
回复 4楼 不再等待
不删除也可以,输入“数字\n ”照样可以得到结果,你仔细看看scanf()的格式就知道了
2010-07-29 09:37
经典
Rank: 2
等 级:论坛游民
帖 子:17
专家分:10
注 册:2010-7-14
得分:0 
scanf("%d\n",&n);格式有错,仔细看下scanf的用法
2010-07-29 09:46
南国迦叶
Rank: 2
等 级:论坛游民
帖 子:46
专家分:20
注 册:2010-7-9
得分:0 
格式有问题啊
收到的鲜花
2010-07-29 11:33
Rexfield
Rank: 6Rank: 6
来 自:幻想乡
等 级:侠之大者
威 望:1
帖 子:240
专家分:484
注 册:2010-7-28
得分:10 
如果你输入10然后回车,那么你就向系统输入了:[10]+[crlf],系统就认为你输入的是10,而不是10\n;
还有一个"\n"你没有输入啊,又提示你输入剩余的参数。当然,此时你只按下回车是不行的(输入的是NULL,会让你重新输入)。
然后你随便按几个字符,回车,等于补满了"\n"的位置。
OK,scanf语句通过。程序继续运行。
收到的鲜花

If you're not failing every now and again, it's a sign you're not doing anything very innovative.
2010-07-29 12:38



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




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

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