printf u u n , work1 , work2 怎麼輸出?

時間 2021-05-31 06:36:35

1樓:折柳

反問:work1()的返回值?

work2()的返回值?

具體函式?

如果您不想知道實際的結果,只想知道輸出順序的話……

(那就不考慮格式符不匹配的情況等等)

當然就是

work1()的返回值+空格+work2()的返回值+回車

啦!至於逗號嘛

在這裡可不是什麼運算符號

硬要說是運算的的話,我只知道它可以用於分隔幾個表示式,

逗號表示式無非是把若干個表示式「串聯」起來。

表示式1,表示式2,表示式3……,表示式n

那麼這個總體的值就是表示式n

但是這個在for語句裡面常用,

和printf函式又沒有什麼關係

函式裡面的逗號純屬分隔變數而已啊

修改後的確,我在dev上試的時候都是從右往左執行(可以用自增自減運算子來檢驗)

printf函式原型給了

能看懂的話就看看吧

typedef

char

*va_list

;//就是當做動態陣列

#define _AUPBND (sizeof (acpi_native_int) - 1)

#define _ADNBND (sizeof (acpi_native_int) - 1)

#define _bnd(X, bnd) (((sizeof (X)) + (bnd)) & (~(bnd)))

#define va_arg(ap, T) (*(T *)(((ap) += (_bnd (T, _AUPBND))) - (_bnd (T,_ADNBND))))

#define va_end(ap) (void) 0

#define va_start(ap, A) (void) ((ap) = (((char *) &(A)) + (_bnd (A,_AUPBND))))

//start.c

static

char

sprint_buf

[1024

];int

printf

(char

*fmt

,...)

//傳進來乙個字串和...

intvsprintf

(char

*buf

,const

char

*fmt

,va_list

args

)// Process flags

flags=0

;repeat

:fmt++;

// This also skips first '%'

switch(*

fmt)

// Get field width

field_width=-

1;if(

is_digit(*

fmt))

field_width

=skip_atoi(&

fmt);

elseif(

*fmt

=='*')}

// Get the precision

precision=-

1;if(

*fmt

=='.')if

(precision

<0)precision=0

;}// Get the conversion qualifier

qualifier=-

1;if(

*fmt

=='h'||*

fmt==

'l'||

*fmt

=='L'

)// Default base

base=10

;switch(*

fmt)

str=

number

(str,(

unsigned

long

)va_arg

(args

,void*),

16,field_width

,precision

,flags

);continue

;case

'n':if(

qualifier

=='l'

)else

continue

;case

'A':

flags

|=LARGE

;case

'a':if(

qualifier

=='l'

)str

=eaddr

(str

,va_arg

(args

,unsigned

char*),

field_width

,precision

,flags

);else

str=

iaddr

(str

,va_arg

(args

,unsigned

char*),

field_width

,precision

,flags

);continue

;// Integer number formats - set up the flags and "break"

case

'o':

base=8

;break

;case

'X':

flags

|=LARGE

;case

'x':

base=16

;break

;case

'd':

case

'i':

flags

|=SIGN

;case

'u':

break

;case

'E':

case

'G':

case

'e':

case

'f':

case

'g':

str=

flt(

str,

va_arg

(args

,double

),field_width

,precision,*

fmt,

flags

|SIGN

);continue

;default:if

(*fmt!=

'%')

*str++=

'%';if(

*fmt)*

str++=*

fmt;

else

--fmt

;continue;}

if(qualifier

=='l'

)num

=va_arg

(args

,unsigned

long

);elseif(

qualifier

=='h'

)elseif(

flags

&SIGN

)num

=va_arg

(args

,int

);else

num=

va_arg

(args

,unsigned

int);

str=

number

(str

,num

,base

,field_width

,precision

,flags);}

*str='

/0';

return

str-

buf;}

預算1w 1w3,有哪些筆記本可以推薦?

keeplearning 預算10000 13000的遊戲本,基本都能完美執行劍網三了。劍網三對顯示卡有要求,但是這個價位的顯示卡大多已經是RTX2060或以上,執行劍網三可以開啟高等特效。但是弱弱說下,女生的話建議選擇一線品牌口碑不錯的遊戲本,售後和品控都有保障 其次還要看看評測,小心選到散熱有問...

所有預算1w1該如何選相機

老油條 一台全畫幅相機,至少乙隻85mm f1.8鏡頭,再有乙隻35mm鏡頭更好。1萬預算偏少,但器材是其次的,關鍵是你的腦瓜子。 林岐 佳能微單繼承在單反時代的優勢,也是好的選擇。如果有老的EF鏡頭,可以考慮加乙個EF轉RF轉換環,繼續用。林岐 10000元預算微單相機推薦20210802 閒雲野...

月薪1個w算什麼水平?

晉陵 先上圖我認為 前提要看你生活的城市消費水平如何 像是在一二找城市的話消費水平往往都很高如果你不是本地人,那麼你還要租房,而且大城市房價都很高,租房的話可以說是乙份不小的開銷,但是如果其他方面不太花錢的話也可能存下一些錢。但如果在三四線城市的話他的消費沒有一二線城市那麼高,不是在市中心租房的話租...