我是靠谱客的博主 玩命大碗,最近开发中收集的这篇文章主要介绍C中scanf()和gets()之间的区别(代码示例),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

scanf()函数

它用于从标准输入(键盘)读取输入(字符,字符串,数字数据)。

它用于读取输入,直到遇到空格,换行符或文件结束(EOF)。

例如,请参阅以下代码:

#include <stdio.h> 
int main() 
{ 
    char str[20]; 
    printf("enter somethingn"); 
    scanf("%s", str); 
    printf("you entered: %sn", str); 
  
    return 0; 
}
登录后复制

这里的输入将由用户提供,输出如下:

输入: Geeks for Geeks
输出: Geeks

输入: Computer science
输出: Computer
登录后复制

gets()函数

它用于从标准输入(键盘)读取输入。它用于读取输入,直到遇到换行符或文件结束(EOF)。

#include <stdio.h> 
int main() 
{ 
    char str[20]; 
    printf("enter somethingn"); 
    gets(str); 
    printf("you entered : %sn", 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 somethingn"); 
  
    // 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()之间的区别(代码示例)的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是玩命大碗为你收集整理的C中scanf()和gets()之间的区别(代码示例)的全部内容,希望文章能够帮你解决C中scanf()和gets()之间的区别(代码示例)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(82)

评论列表共有 0 条评论

立即
投稿
返回
顶部