C中scanf()和gets()之间的区别(代码示例)
时间:2019-03-25 15:00
scanf()函数 它用于从标准输入(键盘)读取输入(字符,字符串,数字数据)。 它用于读取输入,直到遇到空格,换行符或文件结束(EOF)。 例如,请参阅以下代码: 这里的输入将由用户提供,输出如下: gets()函数 它用于从标准输入(键盘)读取输入。它用于读取输入,直到遇到换行符或文件结束(EOF)。 这里输入将由用户提供如下 它们之间的主要区别是: scanf()读取输入,直到遇到空格,换行符或文件结束(EOF),而gets()读取输入,直到遇到换行符或文件结束(EOF),gets()在遇到空格时不会停止读取输入而是将空格作为字符串。scanf可以读取不同数据类型的多个值,而gets()只能获取字符串数据。 差异可以表格形式显示如下: 如何使用scanf()读取用户的完整句子 实际上我们可以使用scanf()来读取整个字符串。例如,我们可以在scanf()中使用%[^ \ n] s来读取整个字符串。 上面的代码读取字符串,直到它遇到换行符。 例子: 相关推荐:《C教程》 本篇文章就是关于C中scanf()和gets()之间的区别介绍,希望对需要的朋友有所帮助! 以上就是C中scanf()和gets()之间的区别(代码示例)的详细内容,更多请关注gxlsystem.com其它相关文章!#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
#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() GETS() 当scanf()用于读取字符串输入时,它会在遇到空格,换行符或文件结束时停止读取 当gets()用于读取输入时,它会在遇到换行符或End Of File时停止读取输入。
当它将空格视为字符串时,它不会停止读取遇到空格的输入。它用于读取任何数据类型的输入 它仅用于字符串输入。 #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