| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1151 人关注过本帖
标题:getchar 和 putchar 的使用
只看楼主 加入收藏
Addict
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-7-31
结帖率:0
收藏
 问题点数:0 回复次数:14 
getchar 和 putchar 的使用
编写一个输入输出字符程序,要求使用getchar和putchar 函数,输入的字符若遇连续的空格只能输出一个。
2011-09-26 20:03
hanucvb
Rank: 2
等 级:论坛游民
帖 子:26
专家分:23
注 册:2011-9-21
收藏
得分:0 
它就只是 输入或输出 一个字符!!!

我也是新手!!
2011-09-26 20:21
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 楼主 Addict
来求作业的了

总有那身价贱的人给作业贴回复完整的代码
2011-09-26 21:15
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
#include < stdio.h >
#include < stdlib.h >
void main ( )
{
        char c;
        c=getchar();




好像不行,用gets和puts  用数组倒是可以。



爱莫能助啊

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-09-26 21:52
czsbc
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:469
专家分:1700
注 册:2008-12-13
收藏
得分:0 
程序代码:
#include<stdio.h>
int main()
{
    char a[100];
    int i,len=0;
    char c;
    while((c=getchar())!='\n')
    {
        a[len++]=c;
        if(c==' '&&a[len-2]==' ')
            len--;
    }
    for(i=0;i<len;i++)
        putchar(a[i]);
    putchar('\n');
    return 0;
}

2011-09-26 22:07
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
if(c==' '&&a[len-2下标不能负数]==' '

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-09-26 22:24
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
写程序重在逻辑,别再埋头写代码了。忠告!

授人以渔,不授人以鱼。
2011-09-26 22:33
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不能用getchar()的,使用这个函数读指针(此处是光标)无论如何都会向前移,所以看起来跟输出空格无异。

授人以渔,不授人以鱼。
2011-09-27 12:11
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这是可以运行的一个实现:

程序代码:
#include <conio.h>

void main(void)
{
    const wint_t space_character(L' ');
    const wint_t null_character(L'\0');
    const wint_t end_character(0x000D);

    wint_t character;
    wint_t last_character(null_character);

    do
    {
        character = _getwch();
        if (character == space_character)
        {
            if (character != last_character)
            {
                last_character = character;
            }
            else
            {
                continue;
            }
        }
        else
        {
            if (last_character == space_character)
            {
                last_character = null_character;
            }
        }
        _putwch(character);
    } while (character != end_character);
}

授人以渔,不授人以鱼。
2011-09-27 12:25
Addict
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-7-31
收藏
得分:0 
回复 3楼 embed_xuel
不是的。我在看《The C Program Language》 时看到了这一问题,想看看只通过GETCHAR和PUTCHAR能不能解决,结果没想出来,故来此。
 
2011-10-01 21:27
快速回复:getchar 和 putchar 的使用
数据加载中...
 
   



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

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