| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1513 人关注过本帖
标题:有关getchar()的问题!
取消只看楼主 加入收藏
ftxxgu
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-9-19
收藏
 问题点数:0 回复次数:9 
有关getchar()的问题!

这个是我在C语言书上的一个习题的答案
它要求是:输入一行电报文字,两种输出方式:一为原文输出,一为将字母变成其下一字母(如‘a’变成‘b’------'z'变成‘a’.其它字符不变)。用#define 命令来控制是否要译成密码。如#define CHANGE 1 则输出密码。
若#define CHANGE 0 则按原码输出。

我的问题是红色部分的c=getchar()是如何能够把一个带空格的语句输出的?
实际上getchar()是用来从终端输入一个字符的。例子中没有循环语句啊!


#include<stdio.h>
#define CHANGE 1
{char c;
char m[20];
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')
printf("%s",c);
#endif
printf("\n");
}

搜索更多相关主题的帖子: getchar define CHANGE 语句 输出 
2006-09-20 21:34
ftxxgu
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-9-19
收藏
得分:0 
不好意思!复制的时候有点小问题!
例子如下:
#include<stdio.h>
#define CHANGE 1
main()
{char c;
char m[20];
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')
printf("%s",c);
#endif
printf("\n");
}

2006-09-21 10:18
ftxxgu
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-9-19
收藏
得分:0 
我的问题是:getchar()是从终端录入一个字符,而非是一个字符串,
它的在本例中能输出一个名字甚至一篇文章!
getchar()是如何将输入的字符串一个一个录入本题中的?

2006-09-21 10:22
ftxxgu
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-9-19
收藏
得分:0 
哦,可能是我对while还不太了解,
while中没有自加语句啊

2006-09-21 11:19
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
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
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
快速回复:有关getchar()的问题!
数据加载中...
 
   



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

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