c语言gets用法 c语言:gets可以连续输入字符串吗?怎么输入?

c语言:gets可以连续输入字符串吗?怎么输入?Gets由回车分隔,也就是说,每次遇到回车时,Gets都不会被读取。如果要连续读取输出,可以使用循环操作C语言字符串gets(str)?Scanf(%C

c语言:gets可以连续输入字符串吗?怎么输入?

Gets由回车分隔,也就是说,每次遇到回车时,Gets都不会被读取。如果要连续读取输出,可以使用循环操作

C语言字符串gets(str)?

Scanf(%C“,&;CH)后跟getchar()原因:因为输入时会按enter键,但遇到enter键时Scanf会停止输入,也就是说,enter键没有输入,仍然留在缓冲区中。因此,当遇到gets时,程序会在输入字符串的开头即末尾遇到回车符,所以STR的内容是回车符,这就是为什么输出中有一个空行的原因。使用getchar,程序将吃掉剩余的回车符,因此在获取时,缓冲区是空的,用户可以输入。PS:当控制台有缓冲区时会遇到这个问题(也就是说,程序只在回车时接收输入)。如果控制台没有缓冲区,就不会有这样的问题。所以,如果你用cin.get公司我们也会遇到这个问题,不像@shishenjin 11,它是关于scanf的。