scanf()函数
它用于从规范输入(键盘)读取输入(字符,字符串,数字数据)。
它用于读取输入,直到碰到空格,换行符或文件完毕(EOF)。
比方,请参阅以下代码:
#include <stdio.h> int main() { char str[20]; printf("enter something\n"); scanf("%s", str); printf("you entered: %s\n", str); return 0; }
这里的输入将由用户供应,输出以下:
输入: Geeks for Geeks 输出: Geeks 输入: Computer science 输出: Computer
gets()函数
它用于从规范输入(键盘)读取输入。它用于读取输入,直到碰到换行符或文件完毕(EOF)。
#include <stdio.h> int main() { char str[20]; printf("enter something\n"); gets(str); printf("you entered : %s\n", str); return 0; }
这里输入将由用户供应以下
输入: Geeks for Geeks 输出: Geeks for Geeks 输入: Computer science 输出: Computer science
它们之间的重要区分是:
scanf()读取输入,直到碰到空格,换行符或文件完毕(EOF),而gets()读取输入,直到碰到换行符或文件完毕(EOF),gets()在碰到空格时不会住手读取输入而是将空格作为字符串。scanf能够读取差别数据类型的多个值,而gets()只能猎取字符串数据。
差别能够表格情势显现以下:
SCANF() | GETS() |
当scanf()用于读取字符串输入时,它会在碰到空格,换行符或文件完毕时住手读取 | 当gets()用于读取输入时,它会在碰到换行符或End Of File时住手读取输入。 当它将空格视为字符串时,它不会住手读取碰到空格的输入。 |
它用于读取任何数据类型的输入 | 它仅用于字符串输入。 |
怎样运用scanf()读取用户的完全句子
实际上我们能够运用scanf()来读取全部字符串。比方,我们能够在scanf()中运用%[^ \ n] s来读取全部字符串。
#include <stdio.h> int main() { char str[20]; printf("Enter something\n"); // Here \n indicates that take the input // until newline is encountered scanf("%[^\n]s", str); printf("%s", str); return 0; }
上面的代码读取字符串,直到它碰到换行符。
例子:
输入: Geeks for Geeks 输出: Geeks for Geeks 输入: Computer science 输出: Computer science
相干引荐:《C教程》
本篇文章就是关于C中scanf()和gets()之间的区分引见,愿望对须要的朋侪有所协助!
以上就是C中scanf()和gets()之间的区分(代码示例)的细致内容,更多请关注ki4网别的相干文章!