C語言有趣的printf

時間 2021-09-21 09:57:41

1樓:竇慧清凡靈

printf函式原型為:void

printf(const

char*

fmt,...);

這個printf((x%2)?("**%d"):("##%d\n"),x)中的

(x%2)?("**%d"):("##%d\n")是一個條件表示式.

該條件表示式的原型為:

表示式1?表示式2:表示式3;它的執行順序為:先求解表示式1,若為非0則求解表示式2;若表示式的值為0則求解表示式3.

所以,這個printf的意思為:如果x對2取餘數,如果餘數為1則執行("**%d");如果x餘數結果為0則執行("##%d\n");

即可以改寫為:

inti

=x%2;

if(0==i

)printf(("##%d\n"),x);

else

printf(("**%d\n"),x);

2樓:板默畢姍

如果x不是2的倍數,則格式化字串為"**%d",否則為"##%d\n":)

當然可以這樣寫啦,格式化串說白了也是一個引數啊。引數當然就可以用表示式啦:)

c語言printf函式可以中途換行嗎

小夏在深圳 可以的。system.out.println ln代表換行,不換行的輸出語句為system.out.print 減號結果左對齊,右邊填空格。預設是右對齊,左邊填空格。加號輸出符號 正號或負號 space空格輸出值為正時加上空格,為負時加上負號 井號type是o x x時,增加字首0 0x...

關於C語言中scanf和printf函式

輸入結果要看你 定義的變數 year 和 code 的 型別,決定,1,int year char code scanf d c year,code printf d c year,code 列印結果 1998和逗號 c 只能接受耽擱字元你輸入的是1998,r 所以 code 裡面鋤從了逗號 而沒有...

c語言中printf()後的括號裡面的怎麼寫,表示什麼

int printf const char format,argument format 引數輸出的格式,定義格式為 flags width perc f n h l type 規定資料輸出方式,具體如下 1.type 含義如下 d 有符號10進位制整數 i 有符號10進位制整數 o 有符號8進位制...