getchar()的作用
#include<stdio.h>#include<stdlib.h>intmain(){chars;intt,x,sum;scanf("%d",&t);getchar(...
#include<stdio.h>
#include<stdlib.h>
int main()
{
char s;
int t,x,sum;
scanf("%d",&t);
getchar();
while(t--)
{
sum=0;
scanf("%c%d",&s,&x);
getchar();
if(s>='a'&&s<='z')
{
sum='a'-s-1+x;
}
if(s>='A'&&s<='Z')
{
sum=s-'A'+1+x;
}
printf("%d\n",sum);
}
return 0;
}
哪位大神解释一下这里面两个getchar的作用 展开
#include<stdlib.h>
int main()
{
char s;
int t,x,sum;
scanf("%d",&t);
getchar();
while(t--)
{
sum=0;
scanf("%c%d",&s,&x);
getchar();
if(s>='a'&&s<='z')
{
sum='a'-s-1+x;
}
if(s>='A'&&s<='Z')
{
sum=s-'A'+1+x;
}
printf("%d\n",sum);
}
return 0;
}
哪位大神解释一下这里面两个getchar的作用 展开
3个回答
展开全部
getchar是读入函数的一种。它从标准输入里读取下一个字符,相当于getc(stdin)。返回类型为int型,为用户输入的ASCII码或EOF。
它的作用是从stdin流中读入一个字符,也就是说,如果stdin有数据的话不用输入它就可以直接读取了,第一次调用getchar()时,确实需要人工的输入,但是如果输了多个字符,以后的getchar()再执行时就会直接从缓冲区中读取了。
getchar函数语法相关资料
(1)函数声明
int getchar(void)。
(2)参数
NA。
(3)功能
C 库函数int getchar(void)从标准输入 stdin 获取一个字符(一个无符号字符)。这等同于getc带有 stdin 作为参数。
(4)返回值
该函数以无符号 char 强制转换为 int 的形式返回读取的字符,如果到达文件末尾或发生读错误,则返回 EOF。
2015-07-16
展开全部
前面的scanf()在读取输入时会在缓冲区中留下一个字符'\n'(输入完num[i]的值后按回车键所致),所以如果不在此加一个getchar()把这个回车符取走的话,gets()就不会等待从键盘键入字符,而是会直接取走这个“无用的”回车符,从而导致读取有误。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是读取残留在输入缓冲区中的换行符。
你输入的时候按的enter键。
你输入的时候按的enter键。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询