Designed by 邱宇
加载资源 ......
加载资源【不好吃不要钱的人美歌甜情商高】完成。
加载资源【不潮不用花钱的大男子主义霸气男友】完成。
加载资源【坚固耐用的寝室最嗨的男人】完成。
加载资源【四级小饶同学的广式腊肠蛋炒饭】完成。
加载资源【土豪鹏子哥的四季春茶小视频App】完成。
加载资源【LJ啾啾啾啾的广式腊肠蛋炒饭】完成。
加载资源【不潮不用花钱的四季春茶小视频App】完成。
加载资源【LJ啾啾啾啾的华园侧路大铁门】完成。
加载资源【LJ啾啾啾啾的华园侧路大铁门】完成。
加载资源【天籁之音丁广博的大男子主义霸气男友】完成。
加载资源【胖胖叶小胖的干啥啥不行干饭第一名】完成。

C语言scanf()和gets()及printf()和puts()的区别

一、scanf()和gets()

1.scanf()

所在头文件:stdio.h

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

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

2.gets()

所在头文件:stdio.h

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

两者在接受字符串时:

1.不同点:

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

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

scanf :当遇到回车,空格和tab键会自动在字符串后面添加’\0’,但是回车,空格和tab键仍会留在输入的缓冲区中。

gets:可接受回车键之前输入的所有字符,并用’\0’替代 ‘\n’.回车键不会留在输入缓冲区中

复制代码
 1 #include<stdio.h>
 2 
 3 int main()
 4 {
 5     char a[10];
 6 
 7     scanf("%s",a);
 8 
 9     printf("%s\n",a);
10 
11 
12     return 0;
13 }
复制代码

从键盘输入字符串 asd df时,遇到空格,scanf()就认为输入结束了,所以a中存放的字符串是 ‘asd\0’。

复制代码
 1 #include<stdio.h>
 2 
 3 int main()
 4 {
 5     char a[10];
 6 
 7     gets(a);
 8 
 9     printf("%s\n",a);
10 
11 
12     return 0;
13 }
复制代码

从键盘输入字符串 asd df时,gets()遇到’\n’才认为是结束输入了,所以a中存放的是’asd df\0’。

复制代码
 1 #include<stdio.h>
 2 
 3 int main()
 4 {
 5     char a[10],b[10];
 6     char c,d;
 7     scanf("%s",a);
 8     printf("a中保存的字符串为:%s\n",a);
 9 
10     c=getchar();
11     printf("c中保存的字符为:%c ",c);
12 
13     gets(b);
14     printf("b中保存的字符串为:%s\n",b);
15 
16     d=getchar();
17     printf("d中保存的字符为:%c",d);
18 
19     return 0;
20 }
复制代码

输入asdf回车,因为scanf会将回车保留在缓冲区中,所以回车会紧接着被c取得而不需要再额外输入,所以a中存储的是’asdf\0’,字符c=’\n’。结果如下:

接着输入as df回车,因为gets会将’\n’替换成’\0’,所以b字符串中保留的是’as df\0’,并且还是要继续输入d的值:

最后输入d的值:

二、printf()和puts()的区别

相同点:
两者都属于stdio.h这个头文件
都能输出字符串

不同点:
puts()在输出字符串时会将’\0’自动转换成’\n’进行输出,也就是说,puts方法输出完字符串后会自动换行。

这一组比较简单,就不再举例子了。

 

转载出处http://blog.csdn.net/xingjiarong/article/details/47282817

posted @   godsaury  阅读(404)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示