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

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

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

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

3.浅讲getchar()函数和putchar()函数_第1张图片

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

浅讲getchar()函数和putchar()函数_第2张图片

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

浅讲getchar()函数和putchar()函数_第3张图片

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

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

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

你可能感兴趣的:(c语言)