這兩個printf語句為什么不一樣呢,求區(qū)別
#include <stdio.h>
int main()
{
??? printf("你是我的小呀小蘋果兒\n"
??? "怎么愛你都不嫌多\n"
??? "紅紅的小臉兒溫暖我的心窩\n"
??? "點亮我生命的火 火火火火\n");
??? return 0;
}
#include <stdio.h>
int main()
{
??? //這是一首思念家鄉(xiāng)的詩
??? printf("床前明月光,");
??? printf("疑是地上霜。");
??? printf("舉頭望明月,");
??? printf("低頭思故鄉(xiāng)。");
??? /*短短四句詩,寫得清新樸素,明白如話。它的內(nèi)容是單純的,但同時卻又是豐富的。
??? 它是容易理解的,卻又是體味不盡的。詩人所沒有說的比他已經(jīng)說出來的要多得多。
??? 它的構(gòu)思是細致而深曲的,但卻又是脫口吟成、渾然無跡的。從這里,我們不難領(lǐng)
??? 會到李白絕句的“自然”、“無意于工而無不工”的妙境。*/
?return 0;???
}
看著兩個他的printf語句不一樣呢,第一個只有一個printf但是第二個每條語句前都有printf,求大神解惑
2015-08-07
printf的第一個參數(shù)就是字符串,準(zhǔn)確地說叫格式化字符串。printf會把這個字符串輸出,如果其中包含格式化指示符(%d %f等),就按順序?qū)⒑竺鎱?shù)放到格式化字符串的相應(yīng)位置輸出。
第二個例子中就是用了4個printf輸出了4句詩。因無需加入其他格式化指示,故直接把要輸出的句子作為第一個參數(shù)了。
第一個例子其實也是一樣的,只是用了一個printf語句,參數(shù)是一個包含了4句話 4個換行的字符串。
這里用到C語言的一個特性:如果兩個字符串字面量(指用雙引號括起來的字符串)緊挨著,或之間只有空白相隔,就自動將這兩個字符串接成一段字符串。 注意C語言將空格 tab 回車都視作空白字符(blank),所以即便這4句話寫在了4行,但它們之間沒有其他C語言的符號,C仍會將它們自動連接成一個字符串。于是這句代碼其實是這樣的:
這樣printf的第一個參數(shù)還是一個字符串,可以正常輸出。
這個特性其實就是可以讓你把一個很長的字符串寫在多行上,這樣代碼更容易讀。
2015-08-07
第一個是輸出整段文字,第二個是逐行輸出文字。