https://www.toutiao.com/a6660237590660120835/
我们使用C语言编程时,从键盘输入C语言字符串的时候,最后通过按下回车键把这些字符串送给C程序处理,这里的回车键会产生一个回车符,这是关键。可能题主的问题很多人看不懂,所以我写一个C程序来描述这个问题。
上述C程序不难,就是使用C语言的getchar函数从缓冲区中读入一个个的C字符,再通过putchar函数把这些字符再一个个地输出。运行结果如下:
好了,我要问各位一个问题:putchar函数输出“C Program”之后,我继续输入“C++ Program”,为何系统不让我从“C Program”后面继续输入?也就是为何不是这个样子的输入:C Program C++ Program
系统让我另起一行输入了,这是为啥?
我在输入字符串“C Program”后,会按下回车键把这一段C字符串送给C程序处理,此时会产生一个“换行符”,也就是此时的字符串变成“C Program\n”。
那么getchar函数会一个一个地读取这些C字符,然后通过putchar函数一个一个地输出这些字符。当getchar函数读入换行符“\n”时,putchar函数就会输出这个换行符,也就是屏幕的光标已经移到下一行了,所以当你输入字符串“C++ Program”时,就是另起一行输入了。
那么现在我把上述C程序再改写下,如下所示:
我在while循环结束之后,在C程序第12行又添加了一条puts语句,如果我的输入还是“C Program”和“ C++ Program”,那么请问此时输出的字符串“C and C++ Program”将会显示在哪个位置?你知道吗?
https://www.toutiao.com/a6660237590660120835/
联系客服