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

你应该在编译器上运行一下把代码复制过来,你的代码missing function header

getchar()是可以取得空格的


我为你痴,为你狂!
2006-09-20 22:26
waynebeat
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-8-26
收藏
得分:0 
主函数都没写!

只剩一年了………… 够了!
2006-09-20 22:40
原汁原味
Rank: 1
来 自:湖南省永州市
等 级:新手上路
帖 子:62
专家分:0
注 册:2005-11-17
收藏
得分:0 
你的条件是"!=\n"而空格确实不等于回车换行,所以条件成立能够输入,并且getcher()属于字符输入函数它是以"\n"做为结束符空格算一个有效字符

我们不能控制 时间的前进, 但我们可以掌握时间的运用!
2006-09-20 22:58
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
waynebeat
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-8-26
收藏
得分:0 

while是干什么用的?!

[此贴子已经被作者于2006-9-21 10:56:00编辑过]


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

2006-09-21 11:19
zzymoon
Rank: 1
等 级:新手上路
帖 子:82
专家分:1
注 册:2006-9-19
收藏
得分:0 
这个程序没有什么问题啊,不过不要在WINTC上运行,不然就是错误的,会出现死循环,最好在VC上

程序天下,C的亡魂。 偶``````来自地狱
2006-09-21 11:33
小小贝
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-9-21
收藏
得分:0 
while就是用来循环的啊!!!!!
只要不输入回车,就能输下去的,顶多20个,呵呵
2006-09-21 22:54
快速回复:有关getchar()的问题!
数据加载中...
 
   



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

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