| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2296 人关注过本帖
标题:getch() 的作用
只看楼主 加入收藏
人我江湖
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-3-17
收藏
 问题点数:0 回复次数:6 
getch() 的作用
#include"stdio.h"

void main()

{

char letter;

printf("Input letter the first letter of someday:\n");

while((letter=getch())!='y')

{

switch(letter)

{

case 's':printf("please input second letter:\n");
        if((letter=getch())=='a')

        printf("saturday\n");

        else if((letter=getch())=='u')

        printf("sunday\n");

        else

        printf("data is error\n");

        break;

case 'f':

        printf("friday\n"); break;

case 'm':

        printf("monday\n"); break;

case 't':

        printf("please input the second letter:\n");

        if((letter==getch())=='u')

        printf("tuesday\n");

        else if((letter=getch())=='h')

        printf("thursday\n");

        else

        printf("date is error\n");

        break;

case 'w':

        printf("wednesday\n");break;

        default:

        printf("data is error\n");break;

        getch();

        }

      }

    }


getch()  函数到底是干什么的啊   不是暂停的吗   怎么能用做输入  而且 程序还不段循环  遇到 break; 都跳不出来   具体看看这个程序
搜索更多相关主题的帖子: letter getch printf case 
2008-03-24 12:21
文丰傲圣
Rank: 1
来 自:浙江
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-3-10
收藏
得分:0 
我见过getchar,没见过getch!
2008-03-24 12:53
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
使用getch()
要包含conio.h
跟getchar类似功能

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-03-24 14:00
now
Rank: 1
来 自:广州
等 级:新手上路
帖 子:544
专家分:0
注 册:2007-11-9
收藏
得分:0 
getch()为不回显输入从键盘等待输入,输入立即返回不用ENTER键,并不将字符发送回显示屏上显示;
getchar()为线缓冲输入;输入一个字符后,并不能立即得到该字符,必须按下ENTER键。
LZ可以体会下不同之处:
#include<stdio.h>
#include<conio.h>
int main(void)
{
    char ch;
    //while((ch=getchar())!='y')
    while((ch=getch())!='y')
        putchar(ch);
    return 0;
}
2008-03-24 15:07
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
getch是用于接收一个字符输入的函数

只不过经常用在程序的最后来实现"按任意键退出"的效果

另外,你程序里面的break只是跳出switch而已,并不能退出while

while((letter=getch())!='y')
根据这个条件,必须你按了y这个字母后,才能退出

从BFS(Breadth First Study)到DFS(Depth First Study)
2008-03-24 16:29
cathyouyang
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-2-22
收藏
得分:0 
4楼和5楼的好强哦
我也跟着学了点东东
呵呵 谢谢啊
高手是要多多帮助我们新人啊
2010-02-22 15:05
骑猪看日出
Rank: 1
等 级:新手上路
帖 子:9
专家分:2
注 册:2010-10-19
收藏
得分:0 
getchar();
---------------------
getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.
-----------------------------
说白了,就是按任意键之后才能结束,在结束前能让你看到结果
2010-10-19 17:25
快速回复:getch() 的作用
数据加载中...
 
   



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

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