| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 800 人关注过本帖
标题:c语言学
只看楼主 加入收藏
人生地不熟
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2012-1-10
结帖率:100%
收藏
 问题点数:0 回复次数:10 
c语言学
#include <stdio.h>
main()
{
    int c;
    c=getchar();
    while(c!=EOF)
    putchar(c);
    c=getchar();
    }
有没有人帮我解析  这个程序  看了很多次 一直不明白  
搜索更多相关主题的帖子: include 语言学 
2012-01-10 17:46
cuijingchun
Rank: 3Rank: 3
来 自:黑龙江
等 级:论坛游侠
威 望:1
帖 子:108
专家分:186
注 册:2011-9-28
收藏
得分:0 
1#include <stdio.h>
2main()
3{
 4   int c;
 5   c=getchar();//输入一个字符,以回车结束 每次只一个字符,只到\n
  6  while(c!=EOF)   //没看出来,应该 while((c=getchar()) != '\n')
    putchar(c);// 输出变量C中的字符,只能输出一个字符,
    c=getchar();
    return 0;
}
我用VC6.0是无限循环
收到的鲜花

为自己喜欢游戏做一个自动打怪的程序QQ: 7325231    YY4350晚上编程课欢迎大家来听
2012-01-10 18:19
cuijingchun
Rank: 3Rank: 3
来 自:黑龙江
等 级:论坛游侠
威 望:1
帖 子:108
专家分:186
注 册:2011-9-28
收藏
得分:0 
注解
  getchar 由宏实现:#define getchar() getc(stdin)。getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.   getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-1.输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行.
收到的鲜花

为自己喜欢游戏做一个自动打怪的程序QQ: 7325231    YY4350晚上编程课欢迎大家来听
2012-01-10 18:20
driftsand
Rank: 2
等 级:论坛游民
帖 子:25
专家分:85
注 册:2011-12-21
收藏
得分:0 
以下是引用人生地不熟在2012-1-10 17:46:28的发言:

#include
main()
{
    int c;
    c=getchar();
    while(c!=EOF)
    putchar(c);
    c=getchar();
    }
有没有人帮我解析  这个程序  看了很多次 一直不明白  
你这个程序不正确,while循环丢掉了{}.
#include
main()
{
    int c;
    c=getchar();
    while(c!=EOF)
    {    putchar(c);
         c=getchar();
    }
}


Don't tell lies because those who believe your lies are the ones who believe in you.
2012-01-10 18:28
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 楼主 人生地不熟
楼主想干什么?
while(c!=EOF)   
    putchar(c);
不改变c的值,死循环
收到的鲜花

总有那身价贱的人给作业贴回复完整的代码
2012-01-10 18:29
wujiao1992
Rank: 2
等 级:论坛游民
帖 子:3
专家分:12
注 册:2012-1-6
收藏
得分:0 
回复 楼主 人生地不熟
跟driftsand说的一样,少了{}。。。
2012-01-10 19:54
人生地不熟
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2012-1-10
收藏
得分:0 
回复 2楼 cuijingchun
谢谢你的回帖  我这个程序不是自己编的 我是在书上看的 应该没问题的  

就是这本书{Kernighan和Ritchie的《The C Programming Language》《C程序设计语言》}第十页 据说是c语言中最权威的
2012-01-10 20:35
人生地不熟
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2012-1-10
收藏
得分:0 
EOF(end of file,文件结束)
2012-01-10 20:38
人生地不熟
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2012-1-10
收藏
得分:0 
啊 对不起  的确是少了{}这个
2012-01-10 20:41
人生地不熟
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2012-1-10
收藏
得分:0 
不过还是这里看不懂  不明白是怎么回事
while(c!=EOF)
    putchar(c);
    c=getchar();
    }
2012-01-10 20:42
快速回复:c语言学
数据加载中...
 
   



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

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