为什么从键盘上输入某字符串时,不可使用getchar

投稿:半岛未凉 优质问答领域创作者 发布时间:2023-11-13 16:09:07
为什么从键盘上输入某字符串时,不可使用getchar

从键盘上输入某字符串时通常不使用`getchar`是因为`getchar`函数会逐个读取字符,并且在遇到换行符或者文件结束符时停止读取。而我们输入字符串通常是以回车符(换行符)结尾的,例如在终端中输入一行文字后按下回车键,这个回车符也会被读入。所以使用`getchar`函数只能读取一个字符,并不能读取完整的字符串。
为了输入完整的字符串,我们可以使用其他函数如`gets`(在较老的编译器中使用),`fgets`或者`scanf`来实现。这些函数可以读取一行完整的字符序列,直到遇到换行符为止,然后存储这个字符串,并且在字符串的末尾添加一个空字符(`\0`),以表示字符串的结束。

为什么从键盘上输入某字符串时,不可使用getchar

因为,getchar()是从键盘上输入一个字符,函数调用时,等待从键盘上进入一个字符。而不是多个字符,字符串是由多个字符组成的。