| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 804 人关注过本帖
标题:关于回车与换行~~~?.....
只看楼主 加入收藏
rupei110
Rank: 1
等 级:新手上路
帖 子:26
专家分:3
注 册:2010-11-15
结帖率:50%
收藏
已结贴  问题点数:19 回复次数:5 
关于回车与换行~~~?.....
1.
{
    int a;
    a = getchar();
    printf("%d", a);
}
2.
{
    int a;
    a = getch();
    printf("%d", a);
}
运行后 直接按回车键
1.的打印结果为
                (换行)
10
2.的打印结果为
13              (无换行)
这是为什么?回车键的ACSII码为13 换行的为10~那该怎么算啊?
搜索更多相关主题的帖子: 打印 
2011-06-25 23:39
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:4 
1
getch()不是标准库里的函数。
2
楼主查一下网络,看看对回车和换行的权威解释

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-06-25 23:43
thunder_2011
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:31
专家分:100
注 册:2011-4-11
收藏
得分:4 
有些键盘按键是会产生多个键值的,比如方向键,或者windows下的回车键,linux下回车键只产生一个10的键值,即只有换行,windows下貌似是有  回车和换行的,是同时产生\r和 \n的
2011-06-25 23:45
Redlass
Rank: 2
等 级:论坛游民
帖 子:20
专家分:29
注 册:2011-6-24
收藏
得分:4 
这个问题比较复杂,涉及到系统还有编译器
2011-06-25 23:50
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:4 
请使用 getchar()

—>〉Sun〈<—
2011-06-25 23:51
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:4 
如 1 楼所说 getch() 不是标准函数。
getch() 和 getchar() 有些不同。
1. getch() 直接获取按键值,而 getchar() 则是获取由操作系统传递给程序的字符值。
2. getch() 在捕获到按键值后直接传递给程序,而 getchar() 要等待用户按下回车键后才会将捕获的值传递给程序。

楼主可以试一下下面两个程序的不同:

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

int main() {
    char c;
    while ((c = getch()) != 'q') {
        printf("%c\n", c);
    }
    return 0;
}


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

int main() {
    char c;
    while ((c = getchar()) != 'q') {
        printf("%c\n", c);
    }
    return 0;
}
2011-06-26 00:00
快速回复:关于回车与换行~~~?.....
数据加载中...
 
   



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

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