标题:有关getchar()的问题!
只看楼主
ftxxgu
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-9-19
得分:0 
不是吧,老兄,我输出的字符有三十多个呢!

不过,这个程序,改了一点,都会造成死循环,机器都死了三回了

2006-09-22 09:49
ftxxgu
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-9-19
得分:0 
感谢众位兄弟的热情帮助!
我也会更努力了

2006-09-22 09:50
小小贝
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-9-21
得分:0 
m不是只开了20个空间吗??怎么能输如30个的???不懂
2006-09-22 12:55
小小贝
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-9-21
得分:0 
这个M[20]开在那边有什么用啊?删了也没错啊!!!!!
可以无限输的.........
2006-09-22 13:01
ftxxgu
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-9-19
得分:0 
哦,m[20]调试时编译的,
对程序的运行没有影响,
所以没有删掉!
这个程序的输入关健不是m[20],用getchar()进行字符的输入

2006-09-26 22:11
ftxxgu
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-9-19
得分:0 
我还有个问题,
能不能只用一个输入用M[]或getchar()
达到用
#define CHANGE 1
或 #define CHANGE 0
来控制输出呢?
请高手们指点一下!!

2006-09-27 21:49
lengen
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-9-6
得分:0 

我改了下; 1,加上main()
2.printf("%s",c); 改成printf("%c",c);

3。m[]可以不要。

改变后的程序是
#include<stdio.h>

#define CHANGE 1
main()
{char c;
int i;

#if CHANGE
while((c=getchar())!='\n')
{if('a'<=c&&c<'z')c=c+1;
else
{if(c=='z')c='a';}
putchar(c);

}
#else
while((c=getchar())!='\n')
putchar(c);
#endif
printf("\n");
}


2006-09-27 22:10
ftxxgu
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-9-19
得分:0 

你的改的是没错啦!
不过,我想得到一个只有一个输入字符或字符串或数组的语句,
整个程序还能正常运行的源代码!
追求代码的最简化!


2006-09-28 22:32
ftxxgu
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-9-19
得分:0 
" border="0" />[url=tencent://message/?uin=7810264&amp;Site=http://bbs.]点击这里给我发消息[/url]

2006-10-12 23:34
编程学者
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-10-13
得分:0 

看了下,看来我得回去再看一遍书了

2006-10-13 11:32



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




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

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