C语言中scanf与gets获取字符串输入有何关键区别?

2026-05-08 15:532阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计688个文字,预计阅读时间需要3分钟。

C语言中scanf与gets获取字符串输入有何关键区别?

解释gets(s)函数与scanf(%s,s)类似,但存在一个问题。使用scanf(%s,s)函数输入字符串时,如果输入了空格,会认为字符串结束,空格后的字符将作为下一个输入项处理。

解释

gets(s)函数与 scanf("%s",&s) 相似,但不完全相同,使用scanf("%s",&s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。

1.scanf()

所在头文件:stdio.h

语法:scanf("格式控制字符串",变量地址列表);

接受字符串时:scanf("%s",字符数组名或指针);

2.gets()

所在头文件:stdio.h

语法:gets(字符数组名或指针);

两者在接受字符串时:

1.不同点:

scanf不能接受空格、制表符Tab、回车等;

而gets能够接受空格、制表符Tab和回车等;

2.相同点:

字符串接受结束后自动加'\0'。

阅读全文

本文共计688个文字,预计阅读时间需要3分钟。

C语言中scanf与gets获取字符串输入有何关键区别?

解释gets(s)函数与scanf(%s,s)类似,但存在一个问题。使用scanf(%s,s)函数输入字符串时,如果输入了空格,会认为字符串结束,空格后的字符将作为下一个输入项处理。

解释

gets(s)函数与 scanf("%s",&s) 相似,但不完全相同,使用scanf("%s",&s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。

1.scanf()

所在头文件:stdio.h

语法:scanf("格式控制字符串",变量地址列表);

接受字符串时:scanf("%s",字符数组名或指针);

2.gets()

所在头文件:stdio.h

语法:gets(字符数组名或指针);

两者在接受字符串时:

1.不同点:

scanf不能接受空格、制表符Tab、回车等;

而gets能够接受空格、制表符Tab和回车等;

2.相同点:

字符串接受结束后自动加'\0'。

阅读全文