scanf( )和gets如何用C语言从键盘上输入并打印一串字符串的比较
2016-12-20 19:19
429 查看
首先先简单介绍scanf:
scanf()在读取一串输入的字符串时并不能全部读入,比如scanf()读取hello words时只能读取 hello,而不是hello words。这是因为scanf()开始读取输入以后,会在遇到的第一个空白字符空格、制表符(tab)或换行符(\n)出停止读取。因此在当scanf()读取hello后遇到第一个空白符就停止读取words了。而gets()则可以读取一串字符串,包括空白符。下面是简单例子比较说明:
/*****gets******/
#include<stdio.h>
int main()
{
char ch2[10];
gets(ch2);
printf("ch2= %s",ch2);
return 0;
}
/*****scanf ( )******/
#include<stdio.h>
int main()
{
char ch1[10];
scanf("%s",ch1);
printf("ch1= %s",ch1);
return 0;
}
scanf()在读取一串输入的字符串时并不能全部读入,比如scanf()读取hello words时只能读取 hello,而不是hello words。这是因为scanf()开始读取输入以后,会在遇到的第一个空白字符空格、制表符(tab)或换行符(\n)出停止读取。因此在当scanf()读取hello后遇到第一个空白符就停止读取words了。而gets()则可以读取一串字符串,包括空白符。下面是简单例子比较说明:
/*****gets******/
#include<stdio.h>
int main()
{
char ch2[10];
gets(ch2);
printf("ch2= %s",ch2);
return 0;
}
/*****scanf ( )******/
#include<stdio.h>
int main()
{
char ch1[10];
scanf("%s",ch1);
printf("ch1= %s",ch1);
return 0;
}
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- 如何组织构建多文件 C 语言程序(二)
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户