请教两道关于C语言的问题问题

然后今天敲到getchar()时为了做练习1-6:驗证getchar()!=EOF 是0还是1,我就写了下面的代码:

输入“”输入就是“345678”。
我打开调试之后发现thischar的值是这样变化的:


也就是说因为我多检测了两次

這个。就导致我输出少了两个字符我之后又试了试,以此类推条件数量增多少,输出的字符就会少多少
网上说getchar()函数的代码是这样的:

我也查了寄存器的说明,但是还是不明白为什么会造成这样的情况。和getchar()这个函数的定义有关系吗如果没有,那是哪里出的问题呢

誰能大概解释一下getchar()函数定义,用自然语言描述大概是什么样的过程

上面的EAX寄存器应该是存了getchar()的返回值,那后面这个值是怎么样被后续操莋抹掉的我不太懂。

我要回帖

更多关于 关于C语言的问题 的文章

 

随机推荐