二、putchar()、getch()、getche()和getchar()函數
1. putchar()函數
putchar()函數是向標准輸出設備輸出一個字符,其調用格式為:putchar(ch);
其中ch為一個字符變量或常量。
putchar()函數的作用等同於printf("%c", ch);
例6:
#include<stdio.h>
main()
{
char c: /*定義字符變量*/
c='B'; /*給字符變量賦值*/
putchar(c); /*輸出該字符*/
putchar('\x42'); /*輸出字母B*/
putchar(0x42); /*直接用ASCII碼值輸出字母B*/
}
從本例中的連續四個字符輸出函數語句可以分清字符變量的不同賦值方法。
2. getch()、getche()和getchar()函數
(1) getch()和getche()函數
這兩個函數都是從鍵盤上讀入一個字符。其調用格式為:
getch();
getche();
兩者的區別是:getch()函數不將讀入的字符回顯在顯示屏幕上,而getche()函數卻將讀入的字符回顯到顯示屏幕上。
例7:
#include<stdio.h>
main()
{
char c, ch;
c=getch(); /*從鍵盤上讀入一個字符不回顯送給字符變量c*/
putchar(c); /*輸出該字符*/
ch=getche(); /*從鍵盤上帶回顯的讀入一個字符送給字符變量ch*/
putchar(ch);
}
利用回顯和不回顯的特點,這兩個函數經常用於交互輸入的過程中完成暫停等功能。
例8:
#include<stdio.h>
main()
{
char c, s[20];
printf("Name:");
gets(s);
printf("Press any key to confinue...");
getch(); /*等待輸入任一鍵*/
}
(2) getchar()函數
getchar()函數也是從鍵盤上讀入一個字符,並帶回顯。它與前面兩個函數的區別在於:getchar()函數等待輸入直到按回車才結束,回車前的所有輸入字符都會逐個顯示在屏幕上。但只有第一個字符作為函數的返回值。
getchar()函數的調用格式為:
getchar();
例9:
#include<stdio.h>
main()
{
char c;
c=getchar(); /*從鍵盤讀入字符直到回車結束*/
putchar(c); /*顯示輸入的第一個字符*/
getch(); /*等待按任一健*/
}