c语言中获取字符串函数的用法是怎样的?

从终端输入一个字符串,getchar()函数是一个一个获取字符还是一次性接收整个字符串?它和scanf()有什么区别?

获取字符串有两种方法

char arr[10]={0};
scanf("%s",arr);
//或者
gets(arr);

而getchar()是一个一个字符的获取,它主要用于读取缓冲区的'\n'也就是回车。如果scanf里面写%c也是只能获取一个字符了

getchar(),scanf()函数系统都是按行缓冲处理,就是说,你键入的字符,只有在键入回车键时系统才把键入的字符送人程序的缓冲区也包括回车符,在此之前,只是保留在键盘缓冲中,此时你的程序是不能感知这些字符的,进入到程序缓冲区的字符, 你的程序就能够使用了,不同的函数按各自的规则读取,getchar()是每次读一个字符,没有被读完的字符,会滞留在程序的缓冲区,可以在下次读取。