| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 977 人关注过本帖
标题:自学C求助:输入空格的时候程序停不下来
取消只看楼主 加入收藏
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:6 
自学C求助:输入空格的时候程序停不下来
#include <iostream>
#define SPACE ' '
int main(int argc, char** argv) {
    char ch;
    ch=getchar();
    while(ch!='\n')
    {
        if(ch==SPACE)
        {
            putchar(ch);
        }
        else
        {
            putchar(ch+1);
            ch=getchar();
        }
    }
    putchar(ch);
    return 0;
}
抄的<<c primer plus>>上面的程序,实现改变输入保留空格的功能
搜索更多相关主题的帖子: include return 
2015-07-23 16:32
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
问了下度娘:用getchar无法获取回车,实际上用任何方法(常规库函数)都无法获取回车,因为控制台是在你输入完一行并点下回车之后,把除了回车之外的字符一起送到程序输入缓存中的,你只能用变通的方法,比如一次获取一行,那么必然在最后一个字符后面是一个回车,尽管你获取的数据里没有回车,但是可以断定用户按下回车了,不然无法输入。 如果是这样,getchar就不行了,需要getche函数。那么这个程序是不是就有问题了
2015-07-23 16:43
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
回复 3楼 hjx1120
头文件和main函数是我用的编译器给的,用的是dev-c++,里面的程序是看的书上的,你说少了个putchar(),我看不明白为什么少啊,能具体讲下吗,谢谢了
2015-07-23 17:15
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
回复 5楼 hjx1120
谢谢了,看到问题了
2015-07-23 20:49
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
回复 6楼 ditg
谢谢咯~
2015-07-23 20:51
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
回复 9楼 TonyDeng
不明白版主说用do{}while()是为什么,我实现的功能是改变输入保留空格,那在执行前肯定要先判定一次输入是不是空格啊。至于书的问题,我用的是盗版,很多地方连{}都少的,不知道正版会不会好点
2015-07-23 21:00
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
回复 13楼 hjx1120
。。我服了,这都找得到,不过我就是这么抄的啊,只是在ifelse语句加了两个括号,这不会加错吧?然后头文件和main函数是软件给的,我一直这么用的啊
2015-07-23 21:40
快速回复:自学C求助:输入空格的时候程序停不下来
数据加载中...
 
   



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

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