标题:[求助]为什么这个程序是错误的
只看楼主
liweiqing
Rank: 1
等 级:新手上路
帖 子:72
专家分:0
注 册:2007-10-16
 问题点数:0 回复次数:26 
[求助]为什么这个程序是错误的
main()
{int a[5],i=0;
scanf("%d",&a[i++]);
while(a[i]!='#'&&i<5)
scanf("%d",&a[i++]);
i=0;
while(a[i]!='#'&&i<5)
printf("%d ",a[i++]);
}


我输入:1 2 3 #
为什么结果不是: 1 2 3 啊
搜索更多相关主题的帖子: int main 结果 
2007-11-12 21:44
lw_China
Rank: 1
来 自:peking
等 级:新手上路
帖 子:73
专家分:0
注 册:2007-11-4
得分:0 


在这里推荐一本书 <The C Programming Language>
2007-11-12 22:16
rayxiang
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2007-10-22
得分:0 
              那LZ输出的结果是??

...........没 有 音 乐 就 没 法 活............ ...........不 会C 语 言 我 可 以 问...........
2007-11-12 22:45
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
以下是引用liweiqing在2007-11-12 21:44:51的发言:
main()
{int a[5],i=0;
scanf("%d",&a[i++]);
while(a[i]!='#'&&i<5)
scanf("%d",&a[i++]);
i=0;
while(a[i]!='#'&&i<5)
printf("%d ",a[i++]);
}


我输入:1 2 3 #
为什么结果不是: 1 2 3 啊

对整数输入而输入一个字符(无论哪个)都会非正常结束输入.
所以你的'#'根本不会在数组里,那你输出的时候当然还到5才可以结束了,这样就有多余的随机数输出.


倚天照海花无数,流水高山心自知。
2007-11-12 23:04
tangguobiao
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-11-7
得分:0 

我运行了下lw_China写的,输出无数个0
怎么才能实习楼主的要求呢?。。。。


2007-11-13 00:06
woshiming66
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-10-1
得分:0 
回复:(liweiqing)[求助]为什么这个程序是错误的
呵呵 结果是什么? 输出的个数是五个吗?
main()
{char a[5];
int i=0,j=0;
scanf("%d",&a[i++]);
while(a[i]!='#'&&i<5)
scanf("%d",&a[i++]);
i=0;
while(a[i]!='#'&&i<j-1)
printf("%d ",a[i++]);
}
2007-11-13 09:49
manm
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-11-1
得分:0 
呃,还没学到那里去哦!
2007-11-13 10:58
kidd2005
Rank: 1
等 级:新手上路
帖 子:193
专家分:0
注 册:2007-11-2
得分:0 

楼上的,你的程序完全没结果啊~还有,我不明白你的J代表什么,J=0,但I<J-1??
另外,char a[5]就可以解决对整数输入而输入一个字符(无论哪个)都会非正常结束输入了??


潜心苦C,却发觉百C不得其解啊~
2007-11-13 10:59
lw_China
Rank: 1
来 自:peking
等 级:新手上路
帖 子:73
专家分:0
注 册:2007-11-4
得分:0 
以下是引用tangguobiao在2007-11-13 0:06:59的发言:

我运行了下lw_China写的,输出无数个0
怎么才能实习楼主的要求呢?。。。。

那不是我写的,是lz写的.


在这里推荐一本书 <The C Programming Language>
2007-11-16 12:06
now
Rank: 1
来 自:广州
等 级:新手上路
帖 子:544
专家分:0
注 册:2007-11-9
得分:0 

#include<stdio.h>
int main(void)
{
char a[5];
int i=0;

while(a[i]!='#'&& i<5)
{
scanf("%c",&a[i++]);

}
i=0;
while(a[i]!='#'&& i<5)
{
printf("%c",a[i++]);
}
return 0;
}

// 可改为这样。


GIS
Geographic Information System
你在哪里?——》你的坐标?
2007-11-17 10:03



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




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

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