| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 683 人关注过本帖
标题:getchar()的问题
只看楼主 加入收藏
自由呼吸
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-11-11
收藏
 问题点数:0 回复次数:5 
getchar()的问题
新手,碰到了点问题,请大侠们帮帮忙
是关于C函数的
有这样一个程序:从键盘上输入一些字符,逐个把他们送到磁盘上去,遇到‘#’结束。
问题我在程序的后面提出。
#include <stdio.h>
main()
{
FILE *fp;
char ch,filename[10];
scanf("%s",filename);
fp=fopen(filename,"w");


ch=getchar();
while(ch!='#')
{
fputc(ch,fp);
putchar(ch);
ch=getchar();
}
fclose(fp);
}



和问题没关系的语句我没输打出来。
我的问题是这段程序:
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);
putchar(ch);
ch=getchar();
}
如果从键盘输入computer字符串,然后按回车,那么程序运行的结果将是字串输出到磁盘,并且在显示终端显示出来。
对这段程序的大概运行过程,我做如下假设对吗?
从键盘输入字串,没按回车前,程序将停留在ch=getchar();语句处,整个字串将被放到系统给输入终端文件自动分配的输入缓冲区,当按下回车,缓冲区将刷新一个字符‘c’到ch变量。
程序继续运行,进入循环,fputc(ch,fp);语句将字符‘c’输出到文件,putchar(ch);语句将字符‘c’输出到显示终端,程序运行到 ch=getchar();语句,此语句将字符‘o’刷新到变量ch,进入下轮循环。
。。。。。。
我这么假设对吗?
我新手,还没编过程序,就是在瞎猜,请大虾们帮帮忙分析下,不胜感激!!!
搜索更多相关主题的帖子: getchar 
2006-11-15 19:27
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
与你想的差不多

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-11-15 19:32
fyi1106
Rank: 1
等 级:新手上路
帖 子:327
专家分:0
注 册:2006-10-14
收藏
得分:0 
嘿嘿,没错,“瞎猜”都能猜对,服了你。

JavaScript forever!
2006-11-15 22:38
wuxilyy1
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-11-5
收藏
得分:0 

应该是你写一个就输出一个的吧?可以做下看看啊.

2006-11-15 23:01
自由呼吸
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-11-11
收藏
得分:0 
谢谢
现在没空写
我想写就要写点有用的,要不浪费时间啊
2006-11-16 20:08
剑风曲
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2006-11-16
收藏
得分:0 
[QUOTE]while(ch!='#')[/QUOTE]
这句话好象有问题吧~~~~
ch指的是首地址,首地址当然不等于#拉,所以肯定有问题,我估计应该是字符不等于#吧?
偶没仔细看,发现问题说出来而已~~~
2006-11-16 21:25
快速回复:getchar()的问题
数据加载中...
 
   



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

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