c语言中putchar(getchar())的问题

如题所述

为什么我输入a,b:
实际上
c1=getchar;//此时c1=a
c2=getchar;//c2=,
putchar(c1);//输出a
putchar(getchar());//此时缓冲中有b没有被取出,getchar得到b,所以输出b,程序结束
而我输入ab
输出的是
a
c1=getchar;//c1得到a
c2=getchar;//c2得到b
putchar(c1);//输出c1,那就是a
putchar(getchar());//此时缓冲区还有一个回车,所以getchar得到回车,输出回车
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-16
//程序不能运行的,里面充满语法错误。改正后才会如你描述的那样。正确的程序如下:
#include

void
main()
{
char
c1,c2;
c1=getchar();
c2=getchar();
putchar(c1);
putchar(getchar());
}
第2个回答  2019-12-07
getchar()这个貌似是只输入,不输出的。不过你怎么还有那个输入语句呢?貌似现在很少用了啊!都是输入是scanf
输出是printf。如果是我会这么写
#include<stdio.h>
void
main()
{
char
c1,c2;
scanf("%c
%c",&c1,&c2);
printf("%c
%c\n",c1,
c2);
}
第3个回答  2019-08-02
对于这两个函数,从函数的名字就可以看出函数的含义了。
1、
getchar,
是获取一个字符,属于读函数(输入函数),
putchar是输出一个字符,属于写函数(输出函数)。
2、getchar不需要参数,purchar需要一个整型的参数。
3、
getchar在大多数情况下需要保存其返回值,作为后续使用。putchar除判断是否成功外,不需要关心其返回值。
相似回答