浅讲getchar()函数和putchar()函数

在初学c语言中,我对getchar()函数和putchar()函数的运用存在了很多疑惑,再去查询各种资料和询问老师同学后自己总结出了一些简单的结论。

1. 在源文件(.c文件)中调用getchar()函数和putchar()函数需要调用stdio.h头文件。

2.getchar()在一般引用(这里指不进行循环)下只在缓冲区有效存储一个字符。无论是在输入一个字符还是一串字符,调用putchar()函数对应使用时只输出一个字符,这里字符是第一个输入的字符。

3.

一般将getchar()函数是可以有效避免吸收回车符这个字符。但是在上图中出现的问题解释如下,在调用循环的时候,输入A和按下回车符,计算机会自动地将这两个字符存储在缓冲区,在根据循环体一轮又一轮的进行。可能你会产生疑惑,其实getchar()避免吸收回车符这个字符是不参与循环下的。

 这幅图会不会又带来疑惑,在这里c的输入是不参与循环的,它只是在出现循环条件中。所以多次输入字符只吸收第一个为有效字符,并且要进行多次输入。输入一次,循环一次得出结果再输入,这些动作反复反复进行。

这里在循环条件和循环体进行了两次输入,所以在输入一串字符中只读取前两个字符为有效字符存储在缓冲区,一次又一次遵循循环体进行,两次为一轮结束后再进行输入。

以上是我遇到的问题,希望分享给大家,大家可以解除疑惑。

同时,分享一个小彩蛋,在OJ类型体中while循环条件一般接受while(scanf(“%d”,&n)!=EOF)或者while((c=scanf("%d",&c))!=EOF)  而不经常接受while(1)和for(;;) 

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值