為什么 printf("%s\n","小明在慕課網(wǎng)上學(xué)習(xí)\n");這里面加“%s\n”有什么用??直接 printf("小明在慕課網(wǎng)上學(xué)習(xí)\n");不都一樣嗎
#include <stdio.h>
/* 考慮一下哪個(gè)輸出該用無參函數(shù)哪個(gè)輸出該用有參函數(shù)呢? */
int XIA()
{
? ? printf("%s\n","小明在慕課網(wǎng)上學(xué)習(xí)\n");
? ? return 0;
}
int XX(int n)
{
? ? printf("小明在慕課網(wǎng)上已經(jīng)產(chǎn)于學(xué)習(xí)了%d門課程\n",n);
? ? return 0;
}
int main()
{
? ? XIA();
? ? XX(5);
? ? return 0;
}
2019-05-15
printf("%d門課程",n)? ?這一句其實(shí)就是做了一個(gè)格式限定,將變化的n傳了進(jìn)去,只要輸入的n有變化,輸出的語句就是不一樣的,如:n=2,則是“2門課”,n=3,則輸出為“3門課”。同理加“%s\n”其實(shí)就是將后面的字符串作為參數(shù)傳了進(jìn)去,做一個(gè)輸出格式的限定。但其實(shí)這句話每次輸出無變動(dòng)時(shí),可以不用限定格式,直接輸出更為簡單。
printf("%s\n","小明在慕課網(wǎng)上學(xué)習(xí)\n")? ?和? ?printf("小明在慕課網(wǎng)上學(xué)習(xí)\n")? 從輸出表面上來看其實(shí)是一樣的,但他們后面的空行行數(shù)不一樣,如下圖。