1. 为什么32位应用程序和64位应用程序不兼容?

答:举一个原因, 32位中,用 int来存放指针(这在32位中是可以的),但是这种程序在64位上,int32位,但64的指针是64位的,存在不兼容



2.C语言的可移植性
答:只有用标准C库的C程序,具有平台移植性,但这对于大型程序根本不可能。要使C可以移植,就变的比较麻烦,比如:

  1. #ifndef _WINDOWS_ 
  2.  
  3. CreateThread(); //windows下线程的创建 
  4.  
  5. #else 
  6.  
  7. Pthread_create(); //Linux下线程的创建 
  8.  
  9. #endif 
  10.  
  11. //对于头文件,也使用同样的预编译宏来实现。如: 
  12.  
  13. #ifndef _WINDOWS_ 
  14.  
  15. #include <windows.h> 
  16.  
  17. #else 
  18.  
  19. #include <thread.h> 
  20.  
  21. #endif

3.异或操作

a^0 = a

 

a^b^a = a^a^b= 0^b =b