²»ÓÃÁÙʱ±äÁ¿½»»»Á½¸öÊýµÄÖµ(CʵÏÖ)
µ±Òª½»»»Á½¸öÊýµÄֵʱ£¬Í¨³£µÄ×ö·¨ÊǶ¨ÒåÒ»¸öÁÙʱ±äÁ¿£¬È»ºóÔÙ½øÐн»»»¡£ÄÇôÄܲ»Äܲ»ÓÃÁÙʱ±äÁ¿¶ø½»»»Á½¸öÊýµÄֵĨ£¿¿ÉÒԵģ¡CÓïÑÔÌṩµÄÒì»òÔËËã¾Í¿ÉÒÔʵÏÖÕâÑùµÄ²Ù×÷¡£
Òì»òÔËËã·û^Ò²³ÆXORÔËËã·û£¬ËüµÄ¹æÔòÊÇÈô²Î¼ÓÔËËãµÄÁ½¸ö¶þ½øÎ»Í¬ºÅ£¬Ôò½á¹ûΪ0£¨¼Ù£©£»ÒìºÅΪ1£¨Õ棩¡£¼´0 ^ 0 = 0, 0 ^ 1 = 1, 1 ^ 0 = 1, 1 ^ 1 = 0¡£
Àý£º
#include <stdio.h>
int main(int argc, char *argv[])
{
int a = 2, b = 6;
a = a ^ b;
b = b ^ a;
a = a ^ b;
printf("a = %d b = %d\n", a, b);
return 0;
}
½á¹ûÈçÏÂ: a = 6 b = 2
·ÖÎö£ºÇ°Á½¸ö¸³ÖµÓï¾ä£º“a = a ^ b£»”ºÍ“b = b ^ a£»”Ï൱ÓÚb = b ^ (a ^ b)£¬¶øb ^ a ^ bµÈÓÚa ^ b ^ b¡£b ^ bµÄ½á¹ûΪ0£¬ÒòΪͬһ¸öÊýÓëÏàÏòÏà^£¬½á¹û±ØÎª0¡£Òò´ËbµÄÖµµÈÓÚa ^ 0£¬¼´a£¬ÆäֵΪ2¡£
ÔÙÖ´ÐеÚÈý¸ö¸³ÖµÓï¾ä£º“a = a ^ b”¡£ÓÉÓÚaµÄÖµµÈÓÚ(a ^ b)£¬bµÄÖµµÈÓÚ(b ^ a ^ b)£¬Òò´Ë£¬Ï൱ÓÚa = a ^ b ^ b ^ a ^ b£¬¼´aµÄÖµµÈÓÚa ^ a ^ b ^ b ^ b£¬µÈÓÚb¡£
ÁíÍâÁ½ÖÖ·½·¨:
·½·¨Ò»:
void swap(int *p, int *q)
{
*p = *p + *q;
*q = *p - *q;
*p = *p - *q;
}
·½·¨¶þ:
void swap(int *p, int *q)
{
*p = *p + *q - (*q = *p);
}
ÔÀíΪËãÊõÔËËã·ûµÄ½áºÏ˳ÐòΪ×Ô×óÖÁÓÒ¡£
×¢:¿ÉÒÔ°ÑÒì»òµÄÈýÌõÓï¾äѹËõΪһÌõ£ºa ^= b ^= a ^= b;
Òª½»»»Èý¸ö±äÁ¿µÄÖµ,ÓÃÏÂÃæ±äÁ¿»á±¨´í:c = a + c - (a = b, b = c);
ÏÂÃæÀ´·ÖÎöһϣ¬ÏÈ¿´Ò»¸öʾÀý³ÌÐò£¬ÈçÏ£º
#include <stdio.h>
int main(int argc, char *argv[])
{
int a = 1;
int b = 2;
int c = 3;
c = a + c - (a = b, b = c);
printf("a = %d\n", a);
printf("b = %d\n", b);
printf("c = %d\n", c);
return 0;
}
±àÒëÔËÐУ¬½á¹ûÈçÏ£ºa = 2 b = 3 c = 2
¿É¼û£¬×î³õÄ¿±êÖеÄc = 1²¿·ÖûÄÜʵÏÖ¡£ÓÚÊÇ·ÖÎöÔÒò£º
Ïà¹ØÎĵµ£º
Facts of C Programming Language
CµÄÒ»Ð©ÕÆ¹Ê
(Ó¢ÎÄÔÎÄ:http://www.programmingfacts.com/2009/12/01/facts-of-c-programming-language/)
C programming language was developed in 1972 by Dennis Ritchie and Brian Kernighan at the Bell Telephone Laboratories (AT&T Bell Laboratories) for use with the Un ......
ÕâÖÖÐèÇóºÜ¶à,ÓÖÒòΪC++ºÍCÊÇÁ½ÖÖÍêÈ«²»Í¬µÄ±àÒëÁ´½Ó´¦Àí·½Ê½,ËùÒÔÒªÉÔ¼Ó´¦Àí.×ܽá´óÖÂÓÐÁ½´óÀàʵÏÖ·½·¨.
ÎÄÖиø³öµÄÊÇÍêÕûµÄ,¾ßÌåµÄ,µ«ÓÖ×î»ù±¾×î¼òµ¥µÄʵÏÖ,ÖÁÓÚÀíÂÛÐԵĶ«Î÷ÔÚÍøÉϺÜÈÝÒ×ËÑË÷µÄµ½.
Ò».ͨ¹ý´¦Àí±»µ÷ÓõÄCÍ·Îļþ
a.h:
#ifndef __A_H
#define __A_H
#ifdef __cplusplus
extern "C" {
#endif
int Th ......
ÕâÖÖÐèÇóÓ¦¸Ã¾ÍûC++³ÌÐòµ÷ÓÃCº¯ÊýÐèÇó¶àÁË.ĿǰµÄʵÏÖ»ù±¾Ö»ÓÐÒ»Àà·½·¨,¼´Í¨¹ý´¦Àí±»µ÷ÓõÄC++Îļþ.
ÎÄ
Öиø³öµÄÈÔÈ»ÊÇÍêÕûµÄ,¾ßÌåµÄ,µ«ÓÖ×î»ù±¾×î¼òµ¥µÄʵÏÖ,ÖÁÓÚÀíÂÛÐԵĶ«Î÷ÔÚÍøÉϺÜÈÝÒ×ËÑË÷µÄµ½.ÕâÀïÊÇÕë¶Ôµ÷ÓÃC++µÄ³ÉÔ±º¯ÊýµÄʵÏÖ.
aa.h
class AA {
int i;
public:
& ......
Ò» ²úÉú ÔËÐÐʱ¿âÊdzÌÐòÔÚÔËÐÐʱËùÐèÒªµÄ¿âÎļþ£¬Í¨³£ÒÔLIB»òDLLÐÎʽÌṩ¡£ CÔËÐÐʱ¿â¾ÍÊÇC run-time library£¬µ®ÉúÓÚ20ÊÀ¼Í70Äê´ú£¬ÊÇC¶ø·ÇC++ÓïÑÔÊÀ½çµÄ¸ÅÄC³ÌÐòÔËÐÐʱÐèÒªÕâЩ¿âÖеĺ¯Êý¡£ C ÓïÑÔÊÇËùνµÄ¡°Ð¡Äںˡ±ÓïÑÔ£¬¾ÍÆäÓïÑÔ±¾ÉíÀ´ËµºÜС£¨²»¶àµÄ¹Ø¼ü×Ö£¬³ÌÐòÁ÷³Ì¿ØÖÆ£¬Êý¾ÝÀàÐ͵ȣ©¡£ËùÒÔ£¬CÓïÑÔÄں˿ª·¢³ö ......
µÚÒ»²¿·ÖÈí¼þ±à³ÌµÄʱ¼ä·ÖÅä¸Å¿ö
¸ßЧÂʵijÌÐòÔ±²¢²»ÊÇÇüüÅ̵ÄËٶȱȱðÈ˿죬¶øÊÇËûÓÐ×ÅÁ¼ºÃµÄ±à³Ìϰ¹ß£¬½ÚÊ¡Á˱ðÈËÀ˷ѵÄʱ¼ä¡£Òò´Ë£¬ÒªÏëÌá¸ß×Ô¼ºµÄ±à³ÌЧÂÊ£¬¸ù±¾ÔÚÓÚÔõôÉÙÀË·Ñʱ¼ä¡£Ö»ÒªÄܰѱðÈËÀ˷ѵÄʱ¼ä½ÚÊ¡ÏÂÀ´£¬ÄãµÄЧÂʾͿÉÒÔ¿ì¹ý±ðÈË£¬ÉõÖÁÊý±¶ÓÚ±ðÈË¡£ÒªÏë½Úʡʱ¼ä£¬µ±È»Ê×ÏÈÐèÒªÃ÷°×±à³ÌÖкķ ......