首页 > 代码库 > C语言#getchar()函数
C语言#getchar()函数
1、getchar()的作用
getchar()函数的作用是从缓冲区读入一个字符的数据,第一次读取数据getchar()会等待用户键入ENTER然后开始从缓冲区进行读取数据,如果缓冲区的数据大于1个字节,剩下的数据会暂时存储在缓冲区,getchar会依次进行读取,而不需要用户再次输入ENTER来触发读取。
getchar()的返回值是一个整型的数据,其值对应字符的ASCII码。
2、统计输入空格数量的小程序
1 #include<stdio.h> 2 3 main() { 4 5 int n; 6 int m; 7 n = 0; 8 printf("please input a String:\n"); 9 10 while((m = getchar()) !=‘\n‘){11 if(m == ‘ ‘){12 ++n;13 } 14 }15 printf("n = %d\n",n);16 17 }
程序实现了统计空格的简单功能,将getchar()读取的数据赋给整型变量m用于统计空格的数量。
Q1:在C语言中Char型变量实质上也是一种整型变量,如果将程序中m定义为Char型数据,功能还能不能实现?
Q2:换一种写法,会出现什么情况?
程序进入死循环,为什么?
1 #include<stdio.h> 2 3 main() { 4 5 int n; 6 int m; 7 n = 0; 8 printf("please input a String:\n"); 9 m = getchar();10 while(m !=‘\n‘){11 if(m == ‘ ‘){12 ++n;13 } 14 }15 printf("n = %d\n",n); 16 17 }
A1:可以实现
A2:第一种方式getchar()只在循环外读取一个字符(当读取的字符不是回车时进入循环),进入循环后不再运行getchar()读取外界字符,m的值不在变化,当然死循环;
第二种每次循环都运行一次getchar()读取一个字符,直到输入回车结束;
C语言#getchar()函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。