c语言getchar()的用法

c语言getchar()的用法,第1张

getchar()是c语言中的一个输入函数

可以用它来赋一个字符的值。

例如:char aa=getchar()。

当你在键盘上输入一个字符(如输入g)后按回车,那么字符变量a的值就是'g'了。

与scanf的区别:

1、getchar()函数只能输入一个字符型的值,而scanf()函数除了字符型,还可以输入多种数据类型的值,包括整型、浮点型等。

2、scanf()函数输入字符型需要%c说明符,而getchar()函数不需要说明符。

getchar()函数的注意事项:

1、当程序调用getchar时,程序就等着用户按键,用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车字符也放在缓冲区中)。

当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符。

如果用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键。

2、getchar有一个int型的返回值,当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符。getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕。

#include<stdio.h>

int main(void)

{

int nc=0/* number of characters */

int nq=0/* numerical quantities */

int bs=0/* number of blank spaces */

char str[81],e

int i,nw=0,word=0

printf("Text Analysis\n")

printf("please input the Text:\n")

while(gets(str)) // 循环条件改了

{

for(i=0str[i]i++) // 循环条件改了

{

if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')) nc++

else if(str[i]>='0'&&str[i]<='9') nq++

else if(str[i]==' ') bs++

}

for(i=0(e=str[i])!='\0'i++)

{

if(e==' ') word=0

else if(word==0)

{

word=1

nw++

}

}

}

printf("Number of Words:%d \n",nw)

printf("Number of Characters:%d\n",nc)

printf("Number of blank spaces:%d\n",bs)

printf("Number of numerical characters:%d\n",nq)

return 0

}

试下行不行?


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12148138.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存