C语言中的scanf、getchar、gets函数都可以用于输入字符串,但三者之间有较大的不同。
scanf函数用于输入字符串时,字符串以空白字符(即空格、回车、制表符等)为间隔,scanf函数只输入非空白字符,空白字符仍留在输入缓冲区,下一次输入函数的调用将从空白字符开始输入。
getchar函数用于输入字符,不管空白还是非空白字符,getchar函数都可以输入。
gets函数用于输入字符串时,字符串以回车为间隔,但gets函数仍读入回车符,并将其丢弃,下一次输入函数的调用将从回车符之后的字符开始输入。