c语言去掉字母前的星号,为什么printf里要加“%s\n”,为什么我去掉%s单独在前面或者后面加\n只能是第一个星号行回车...

2e4a369325996305935a182004d456b7.png

爱吃西瓜的猫_

2017-08-16 16:14

已采纳

我把我自己的理解说一下…

1、在C语言入门 2-5 格式化输出语句里 有说,%s是用于输出字符串

printf()是用于在屏幕上打印信息出来。

而%s、%d、%c、%f都是用于规范打印出来的信息,%d是规定输出的是整数,%s是规定输出的是字符串。

int a=3;

printf("%d",a);

这样运行出来就会输出 3

而这道题里,要输出的是 "I Love imooc" 这是一个字符串 ,所以要用 %s 把它输出,如果用%d的话输出的是一段数字,而不是你原先要输出的 "I Love imooc" ,你可以试一下。 我刚刚也去试了一下。

而加\n是因为这道题里小编想让  "I Love imooc" 之后输出的一堆*号在它的下一行。 所以用了转义字符\n,让接下来出现的信息只能从下一行开始输出。

(\n的意思是 跳转到下一行,跟回车一样。)

2、去掉%s单独在前面加\n只能是第一个星号行回车:(这边我不明白什么叫单独在后面加\n,后面是指哪里……所以只回答了前面)

你看主函数 int main()里,是先调用了dividLine()这个函数,这个函数的printf()是在第一行输出的,printf()输出里有\n,说明从这边开始就到第二行了,接下来才调用到sayLove(),所以无论你在前面或者后面加\n 都只会出现在第二行里有空白的一行。

会不会说的太绕口……

你可以拿纸笔跟着程序一起走一遍,我看不懂输出的时候就是这样做的,当输出\n的时候你也跟着一起换行你就明白多啦。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值