c语言获取用户输入字符串是scanf和gets的区别
来源:互联网 发布:江苏运时数据待遇如何 编辑:程序博客网 时间:2024/05/01 11:41
解释
gets(s)函数与 scanf("%s",&s) 相似,但不完全相同,使用scanf("%s",&s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。
1.scanf()
2.gets()
1.不同点:
2.相同点:
例1:
#include <stdio.h>
int
{
char ch1[10],ch2[10];
scanf("%s",ch1);
gets(ch2);
}
依次键入asd空格fg回车,asd空格fg回车,则ch1="asd\0",ch2="asd fg\0"。
程序2:
测试一输入:
Hello word(enter)
输出:
Hello
world!
#include <stdio.h>
int main()
{
char str1[20], str2[20];
gets(str1);
gets(str2);
return 0;
}
Helloworld! [输入]
Helloworld! [输出]
12345 [输入]
12345 [输出]
【分析】显然与上一个程序的执行情况不同,这次程序执行了两次从键盘的读入,而且第一个字符串取了Helloworld! 接受了空格符,而没有像上一个程序那样分成了两个字符串!所以如果要读入一个带空格符的字符串时因该用gets(), 而不宜用scanf()!
- c语言获取用户输入字符串是scanf和gets的区别
- c语言获取用户输入字符串是scanf和gets的区别
- c语言获取用户输入字符串是scanf和gets的区别
- C语言中scanf函数和gets函数在输入字符串时的区别
- C语言:scanf("%s",a)和gets(a)的区别(a[i]是字符串数组)
- C语言scanf()和gets()的区别
- C语言中字符串输入中scanf与gets函数的区别
- 用scanf()和gets()输入字符串的区别
- 字符串输入函数,scanf,gets,fgets的用法和区别
- C语言输入中对scanf和gets的讨论
- C语言输入中对scanf和gets的讨论
- scanf和gets获取字符串时的区别
- scanf和gets获取字符串时的区别
- scanf和gets获取字符串时的区别
- (c语言)回文字符串的判断,gets和scanf
- gets和scanf输入字符串的比较
- C语言 gets()和scanf()函数的区别
- C语言 gets()和scanf()函数的区别
- 算法题
- 整理部分java虚拟机性能监测的命令
- 海量数据处理:十道面试题与十个海量数据处理方法总结
- DataGridView 的右键菜单(ContextMenuStrip)
- 运行安卓报Could not find ****.apk和Failed to load ****dx.jar错的解决办法
- c语言获取用户输入字符串是scanf和gets的区别
- FPGA进行串转并,并转串总结
- 树形查询SQL优化一例
- 错过双十一别郁闷 会声会影1212继续搞事儿
- Maven中使用MyBatis自动生成model实体、dao、XML映射文件
- 值传递与引用传递
- 由《成为乔布斯》联想而来
- poj日记(1328)
- 寻找第K大的数的方法总结