亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么printf里要加“%s\n”,為什么我去掉%s單獨在前面或者后面加\n只能是第一個星號行回車

如題為什么printf里要加“%s\n”,為什么我去掉%s單獨在前面或者后面加\n只能是第一個星號行回車

正在回答

2 回答

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

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的時候你也跟著一起換行你就明白多啦。


1 回復 有任何疑惑可以回復我~
#1

KIDS5S 提問者

非常感謝!
2017-08-18 回復 有任何疑惑可以回復我~
#2

愛吃西瓜的貓_ 回復 KIDS5S 提問者

不用謝~
2017-08-20 回復 有任何疑惑可以回復我~

無論c還是c++,printf的%s到要求是一個有效的指向字符數組的指針.對于此問題%s是對字符串的操作,/n是換行。需要在字符串后換行,去掉%s就是直接換行.

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么printf里要加“%s\n”,為什么我去掉%s單獨在前面或者后面加\n只能是第一個星號行回車

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號