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進位制...