码迷,mamicode.com
首页 > 其他好文 > 详细

getchar() putch()的使用

时间:2015-08-11 18:45:00      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

getchar()  putchar()

    getchar()获取从键盘输入的单个字符  putchar()将单个字符发送至屏幕
    虽然getchar()获取单个字符,但除非按下Enter 键 否则控制不会返回程序
    getchar() 函数命令C程序将输入放入缓冲区(buffer),按下Enter键后 缓冲区的内容以每次一个字符释放
    所以 1.没有按下Enter键就可以按下Backspace 键修正已键入的错误字符
         2.如果不处理按下的Enter键 , Enter键将留在缓冲区
例如:
    first=getchar();
    last=getchar();
    如果要键入GT   则G应该存入变量first中 T应该存入last中  然而并非如此 
    第一个getchar()在用户按下Enter之前不会结束 按下 G后 ,G 留在缓冲区 只有按下Enter ,G 才会离开缓冲区进入程序 -- 但此时Enter 键却留在了缓冲区  所以第二个getchar()会将Enter 键(\n)发送给last   需要额外的getchar()才能继续读取T
修复方案:
    first=getchar();
    x=getchar();//x:储存键入过程中的换行符 不需要处理变量x
    last=getchar();
    x=getchar();
甚至不用将换行符储存在变量中
    first=getchar();
    getchar();//getchar()单独占一行  获取字符后什么都不做  即丢弃换行符
    last=getchar();
    getchar();
也可以输入两个大写字母后再按下Enter键
first=getchar();//G储存在变量first中
last=getchar();//T储存在变量last中
getchar(); 


getch()  putch()
 
getch()获取无缓区的单个字符 无需按Enter 按下键的同时 立即获取相应内容
    first=getch();
 last=getch();
getchar()不会在屏幕上显示键入内容 必须与putch()成对使用
 first=getch();
 putch(first);
 last=getch();
 putch(last);
getchar()  getch() 对比:
    1,getch()比getchar()快 getch()不需要Enter键的按下就能直接获取键入的内容
    2. getchar()没有按下Enter键就可以按下Backspace 键修正已键入的错误字符,而getch()无缓冲区 自然不能使用
 

版权声明:本文为博主原创文章,未经博主允许不得转载。

getchar() putch()的使用

标签:

原文地址:http://blog.csdn.net/qq_29606781/article/details/47423777

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!