Chinaunix首页 | 论坛 | 博客
  • 博客访问: 252167
  • 博文数量: 52
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 625
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-03 08:39
文章分类
文章存档

2011年(4)

2010年(5)

2009年(6)

2008年(37)

我的朋友

分类: C/C++

2008-04-05 18:35:48

这段代码中涉及到for循环中用scanf输入单个字符的问题:
#include "stdio.h"
#include "stdlib.h"
main()
{
    int i;
    /*char ch;*/ 
    for(i=1;i<=10;i++)
    {
        printf("%d",i);
        /*scanf("%c",&ch); */
        
        /*getche();       */
 
        /*ch=getchar(); */
 /*ch=getch(); putchar(ch);*/
        printf("\n");
    }
    getch();
}
好多论坛上已经进行过讨论,今天我运行了程序,又主要查看了getch(),getche(),getchar()这几个函数,看了它们之
间的区别:
getch():
调用方式:int getch(void)
getch()从控制台读取一个字符,但不把该字符显示在屏幕上,也就是不回显.
getche():
调用方式:int getche(void)
getchar()从控制台读取一个字符,把该字符显示在屏幕上,也就是回显.
getchar():
调有方式:int getchar(void)
getchar()从控制台读取一个字符,并回显,它和getch(),getche()的不同在于,它等到输入一个回车才结束,就算你输
入了一个字符串,它也只取其中的第一个字符.
由于用getchar()读取一个字符的时候,它需要回车才能结束,这样很容易将第一次输入的'回车'赋值给下一个字符变
量而出错,我用了getch()和getche(),这两个函数都可以,主要是因为没有'回车'的干预,很简单的一个函数竟然有这
么大的学问.
对了,谁知道linux下的getche()函数在哪个的头文件下,请不吝赐教.
阅读(4137) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~