¶ÔC/C++¿É±ä²ÎÊý±íµÄÉî²ã̽Ë÷
ÒýÑÔ
¡¡¡¡C/C++ÓïÑÔÓÐÒ»¸ö²»Í¬ÓÚÆäËüÓïÑÔµÄÌØÐÔ£¬¼´ÆäÖ§³Ö¿É±ä²ÎÊý£¬µäÐ͵ĺ¯ÊýÈçprintf¡¢scanfµÈ¿ÉÒÔ½ÓÊÜÊýÁ¿²»¶¨µÄ²ÎÊý¡£È磺
printf ( "I love you" );
printf ( "%d", a );
printf ( "%d,%d", a, b );
¡¡¡¡µÚÒ»¡¢¶þ¡¢Èý¸öprintf·Ö±ð½ÓÊÜ1¡¢2¡¢3¸ö²ÎÊý£¬ÈÃÎÒÃÇ¿´¿´printfº¯ÊýµÄÔÐÍ£º
int printf ( const char *format, ... );
¡¡¡¡´Óº¯ÊýÔÐÍ¿ÉÒÔ¿´³ö£¬Æä³ýÁ˽ÓÊÕÒ»¸ö¹Ì¶¨µÄ²ÎÊýformatÒÔÍ⣬ºóÃæµÄ²ÎÊýÓÃ"…"±íʾ¡£ÔÚC/C++ÓïÑÔÖУ¬"…"±íʾ¿ÉÒÔ½ÓÊܲ»¶¨ÊýÁ¿µÄ²ÎÊý£¬ÀíÂÛÉÏÀ´½²£¬¿ÉÒÔÊÇ0»ò0ÒÔÉϵÄn¸ö²ÎÊý¡£
¡¡¡¡±¾ÎĽ«¶ÔC/C++¿É±ä²ÎÊý±íµÄʹÓ÷½·¨¼°C/C++Ö§³Ö¿É±ä²ÎÊý±íµÄÉî²ã»úÀí½øÐÐ̽Ë÷¡£
¡¡¡¡¿É±ä²ÎÊý±íµÄÓ÷¨
¡¡¡¡1¡¢Ïà¹Øºê
¡¡¡¡±ê×¼C/C++°üº¬Í·Îļþstdarg.h£¬¸ÃÍ·ÎļþÖж¨ÒåÁËÈçÏÂÈý¸öºê£º
void va_start ( va_list arg_ptr, prev_param ); /* ANSI version */
type va_arg ( va_list arg_ptr, type );
void va_end ( va_list arg_ptr );
¡¡¡¡ÔÚÕâЩºêÖУ¬va¾ÍÊÇvariable argument(¿É±ä²ÎÊý)µÄÒâ˼£»arg_ptrÊÇÖ¸Ïò¿É±ä²ÎÊý±íµÄÖ¸Õ룻prev_paramÔòÖ¸¿É±ä²ÎÊý±íµÄǰһ¸ö¹Ì¶¨²ÎÊý£»typeΪ¿É±ä²ÎÊýµÄÀàÐÍ¡£va_listÒ²ÊÇÒ»¸öºê£¬Æä¶¨ÒåΪtypedef char * va_list£¬ÊµÖÊÉÏÊÇÒ»charÐÍÖ¸Õë¡£charÐÍÖ¸ÕëµÄÌØµãÊÇ++¡¢--²Ù×÷¶ÔÆä×÷ÓõĽá¹ûÊÇÔö1ºÍ¼õ1£¨ÒòΪsizeof(char)Ϊ1£©£¬ÓëÖ®²»Í¬µÄÊÇintµÈÆäËüÀàÐÍÖ¸ÕëµÄ++¡¢--²Ù×÷¶ÔÆä×÷ÓõĽá¹ûÊÇÔösizeof(type)»ò¼õsizeof(type)£¬¶øÇÒsizeof(type)´óÓÚ1¡£
¡¡¡¡Í¨¹ýva_startºêÎÒÃÇ¿ÉÒÔÈ¡µÃ¿É±ä²ÎÊý±íµÄÊ×Ö¸Õ룬Õâ¸öºêµÄ¶¨ÒåΪ£º
#define va_start ( ap, v ) ( ap = (va_list)&v + _INTSIZEOF(v) )
¡¡¡¡ÏÔ¶øÒ×¼û£¬Æäº¬ÒåΪ½«×îºóÄǸö¹Ì¶¨²ÎÊýµÄµØÖ·¼ÓÉϿɱä²ÎÊý¶ÔÆäµÄÆ«ÒÆºó¸³Öµ¸øap£¬ÕâÑùap¾ÍÊǿɱä²ÎÊý±íµÄÊ×µØÖ·¡£ÆäÖеÄ_INTSIZEOFºê¶¨ÒåΪ£º
#define _INTSIZEOF(n) ((sizeof ( n ) + sizeof ( int ) - 1 ) & ~( sizeof( int ) - 1 ) )
¡¡¡¡va_argºêµÄÒâ˼Ôòָȡ³öµ±Ç°arg_ptrËùÖ¸µÄ¿É±ä²ÎÊý²¢½«apÖ¸ÕëÖ¸ÏòÏÂÒ»¿É±ä²ÎÊý£¬ÆäÔÐÍΪ£º
#define va_arg(list, mode) ((mode *)(list =\
(char *) ((((int)list + (__builtin_alignof(mode)<=4?3:7)) &\
(__builtin_alignof(mode)<=4?-4:-8))+sizeof(mode))))[-1]
¡¡¡¡¶ÔÕâ¸öºêµÄ¾ßÌ庬ÒåÎÒÃǽ«ÔÚºóÃæÉîÈëÌÖÂÛ¡£
¡¡¡¡¶øva_endºê±»ÓÃÀ´½áÊø¿É±ä²ÎÊýµÄ»ñÈ¡£¬Æä¶¨ÒåΪ£º
#define va_end ( l
Ïà¹ØÎĵµ£º
ÎÊ:
È·ÈÏÒ»ÏÂc++Öв»ÄÜʹÓÃinterface£¨Èçjava£©ÄÇÑùµÄ¹¦ÄܰÑ
ÎÒÈÏΪÊDz»Äܵģ¬×¢ÒâÎÒ˵µÄÊÇinterface£¨ÓÃÓÚjava¶àÖØ¼Ì³ÐµÄÄǸö£¬²»ÊÇÒ»°ãÒâÒåµÄ½Ó¿Ú£©
ÎÒ¾õµÃÊÇûÓе쬵«ÊÇÍøÉÏËÑË÷˵ʲôµÄ¶¼ÓжøÇÒÈË»¹²»ÉÙ…… ËùÒÔÏ£Íû´ó¼ÒÄܸøÎÒÒ»¸öÃ÷È·µÄ´ð¸´ºÃô£¿×îºÃÄÜ»¹ÓÐһР......
¸øÎÒÃÇÉÏASP.NETµÄÀÏʦÔÚ½²½âC#µÄʱºò£¬×ÜÊÇҪѯÎÊÎÒÃÇC#ºÍC/C++¼äµÄ²»Í¬Ö®´¦£¬»òÕßһЩϸ½ÚÎÊÌ⣬µ«ÊÇÆ½Ê±²»ÔõôעÒ⣬»¹Õæ°ÑÎÒÃǸøÎʵ½ÁË£¡£¡
Ò».²»¾¹ýÖмä±äÁ¿ÔõÑù½»»»Á½¸öÊý¾Ý int a=25;b=10;
½â·¨: a=a+b;//35
b=a-b;//25
  ......
½ñÌì¹éÄÉ×ܽáÒ»ÏÂÎļþ²Ù×÷º¯Êý¼°¸÷¸ö²ÎÊýµÄº¬Òå:
ÏȽéÉÜÒ»ÏÂc++µÄÎļþ²Ù×÷£¬ÎªÊ²Ã´Ëµc++µÄÎļþ²Ù×÷ÄØ£¬ÒòΪ¶ÔÓÚcÓïÑԵIJÙ×÷£¬Ò²ÓÐËüµÄº¯ÊýÖ®²»¹ý´óͬСÒì°ÕÁË¡£
ÔÚc++µÄÎļþ²Ù×÷ÖÐÓУ¬ÓÐÒ»¸öÀà¶ÔÎļþ²Ù×÷½øÐвÙ×÷£¬¼´CFile£¬ÏÂÃæ¾Íдһ¶Î´úÂ룬À´¼òµ¥µÄ½øÐнéÉÜ¡£
CFile cf;
char zhi[]={1,2};
&n ......
UVa Online Judge - Volume C ÌâÄ¿ºÍ½â´ðË÷Òý¡£Ç°ÃæÎªÔÌâÁ´½Ó£¬ºóÃæÎªÎҵĽâ´ðÁ´½Ó¡£
·µ»Ø×ÜĿ¼
10003 - Cutting Sticks
Dynamic Programming
Solution
10004 - Bicoloring
Graph: BFS
Solution
10006 - Carmichael Numbers
Number Theory: Modulus
Solution
10010 - Where's Waldorf?
String
Solution ......