puts和printf区别?

 我来答
湛蓝水晶
2006-08-04 · 知道合伙人数码行家
湛蓝水晶
知道合伙人数码行家
采纳数:1388 获赞数:9351
毕业北京科技大学数学与应用数学专业,学士学位,IT行业6年从业经验。现任公司项目经理。

向TA提问 私信TA
展开全部
puts(str) //str为一字符串
则自动在str的后面加一个换行符\n
而printf(str)则需要手动加上\n

同理,gets接收字符串时,会将字符串后面的\n去掉,而用scanf接收时,会在字符串后面加上\n

所以,puts要和gets搭配,scanf和printf搭配使用。
rockeydon1
推荐于2017-10-04 · 超过25用户采纳过TA的回答
知道答主
回答量:103
采纳率:0%
帮助的人:108万
展开全部
C中的PUTS函数只用来输出字符串,没有格式控制,它里面的参数就是存放字符串的字符数组的数组名就可以了,
PRINTF函数输出格式有很多,类型也不用说了,可以根据不同格式加些转义字符以达到格式华的输出,比如换行,制表等等....
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7a6ca1b97
2006-08-04 · TA获得超过266个赞
知道小有建树答主
回答量:330
采纳率:0%
帮助的人:201万
展开全部
在C中,,puts相当于put char是输出char字符,,printf是最后显示的时候,要用的函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
穰碧遇浦和
2019-11-24 · TA获得超过3659个赞
知道大有可为答主
回答量:3062
采纳率:33%
帮助的人:239万
展开全部
c中的puts函数只用来输出字符串,没有格式控制,它里面的参数就是存放字符串的字符数组的数组名就可以了,
printf函数输出格式有很多,类型也不用说了,可以根据不同格式加些转义字符以达到格式华的输出,比如换行,制表等等....
scanf里面我们无法输入空格,当你输入空格时,空格后面的内容就没有放到你指定的变量里面。例如
char
a[4];
scanf
("%s",a);//输入一个字符串,%s是表示字符串
for
(i=0;i<=4;i++)
printf("%c",a[i]);
运行的时候你输入i
am试试,它得到的是i,而后面的
空格和am就没有了。
换句话说,scanf当遇到空格时,它就把它当做'\0',就是自动停止
如果你用gets的话
char
a[4];
a=gets();//输入一个字符串,%s是表示字符串
for
(i=0;i<=4;i++)
printf("%c",a[i]);
你还是输入i
am的到的就是i
am
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忘至白葬不情必0T
2006-08-04 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
而且,puts只能输出字符串
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式