ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

cÓïÑÔÖ®¿É±ä²ÎÊýº¯Êý
2015-01-22 20:56:58 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:12´Î
Tags£ºÓïÑÔ ¿É±ä ²ÎÊýº¯Êý

stdarg.h



stdarg.hÊÇC±ê×¼º¯Êý¿âµÄÍ·Îļþ£¬Ö÷ҪĿµÄÊÇΪÈú¯ÊýÄܹ»½ÓÊÕ²»¶¨²ÎÊý¡£µ±ÐèÒª¶¨Òå¿É±ä²ÎÊýº¯Êýʱ£¬ÐèÒª°üº¬¸ÃÍ·Îļþ¡£

?

?

?

ÏÈ´ÓÒ»¸öÀý×Ó˵Æð£¬Õâ¸öÀý×ÓÏë·¨À´×Ô<

>

?

#include 
  
   
#include 
   
     enum drink{apple = 3,banana = 4,orange = 5,other = 6}; int count(int n,...) { int total = 0; va_list ap; va_start(ap,n); for (int i = 0; i < n; ++i) { total += (int) va_arg(ap, enum drink); } va_end(ap); return total; } int main() { printf(cost %d ,count(3,apple,orange,other)); printf(cost %d ,count(5,apple,apple,banana,other,orange)); }
   
  


?

¸ÃÀý×Ó¶¨ÒåÁËÒ»¸öÒûÁϵÄÀàÐÍ£¬²¢É趨ºÃÁËÒûÁϵļÛÇ®¡£

Ö®ºóÓÖ¶¨ÒåÁËÒ»¸öº¯ÊýcountÀ´Í³¼Æ¼Û¸ñ£¬µÚÒ»¸ö²ÎÊý±íʾ¹ºÂòµÄ¸öÊý£¬Ö®ºóΪ¹ºÂòµÄÆ·ÖÖ£¨¿É±ä£©£¬×îºóµÃµ½»¨·ÑµÄ×ܼÛÇ®¡£

//²»¶¨²ÎÊýº¯ÊýÖÁÉÙÓÐÒ»¸öÃüÃûµÄ²ÎÊý

?

Êä³ö£º

?

cost 14

cost 21

Program ended with exit code: 0

?

?

?

?

ÏÖÔÚ˵һÏÂÔ­Àí£º

¼ÈÈ»º¯ÊýÖÁÉÙÓÐÒ»¸öÃüÃûµÄ²ÎÊý£¬ÄÇô¾ÍÓÐÁËÒ»¸ö»ù×¼£¬¾Í¿ÉÒÔ¶¨ÒåÖ¸Õë¸ù¾Ý¸Ã»ù×¼±äÁ¿µÄµØÖ·¶¨Î»µ½ºóÐø²ÎÊýµÄÆðʼµØÖ·¡£

Èç¹ûÔÙÖªµÀºóÐø²ÎÊýµÄÀàÐÍ£¬ÄÇô¸ù¾Ý²ÎÊýÀàÐ͵ij¤¶È£¬¿ÉÒÔͨ¹ýÖ¸ÕëÈ¡µÃ²ÎÊýµÄÖµ¡£

?

?

?

ÔÙ½éÉÜÒ»ÏÂÄÇ4¸öºêµÄÓÃ;£º

?

va_list £º ¶¨ÒåÉÏÊöµÄÄǸöÖ¸Õë

va_start £º¶¨Î»ºóÐø±äÁ¿µÄµØÖ·¡£ÓÉÓÚÖÁÉÙÓÐÒ»¸ö¿É±ä²ÎÊý£¨¿ÉÒÔÓжà¸ö£©£¬¸ù¾Ý¶¨Î»×îºóÒ»¸öÒÑÖª²ÎÊýÀ´ÖªµÀºóÐø²ÎÊýµÄÆðʼµØÖ·¡£

va_arg £º ¸ù¾ÝºóÐø²ÎÊýµÄÀàÐÍ£¬Í¨¹ýÖ¸Õ뽫Êý¾ÝÈ¡³ö¡£

va_end : ½øÐÐһЩ½áÊø¹¤×÷

?

?

?

×îºó»Ø¹ýÀ´½âÊÍÒ»ÏÂ×îÇ°ÃæµÄÀý×Ó£º

Ïȶ¨ÒåÁËÒ»¸öÖ¸Õë va_list ap£»

ͨ¹ý va_startº¯Êý ½«Ö¸Õëap ÓëÒÑÖª²ÎÊýnÁªÏµÆðÀ´£¬¶¨Î»µ½ºóÐø²ÎÊýµÄÆðʼµØÖ·¡£

¶¨Î»ºÃÖ®ºóºóͨ¹ýva_argº¯Êý¡£ÀûÓÃÖ¸ÕëapºÍ²ÎÊýÀàÐÍÀ´»ñµÃÊý¾Ý£¬ÓÉÓÚ¸ÃÀý×ÓµÚÒ»¸ö²ÎÊýÊǸöÊý£¬ÖªµÀforÑ­»·Òª½øÐÐÇóºÍµÄ´ÎÊý¡£

×îºó½áÊøva_end¡£

?

?

?

?

?

?

?


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºObject-c @propertyµÄʹÓ÷½·¨ ÏÂһƪ£ºObjective¨DCÖеÄÅÅÐò¼°CompareÏ..

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ: