C語言 宏定義的1<<0 與 直接定義1 有什么區別


【1】示例程序

如下示例代碼:

#include <stdio.h>

#define TEST1 1 << 0
#define TEST2 (1 << 0)
#define TEST3 1

int main()
{
   printf("%#x \n", TEST1 + 4);
   printf("%#x \n", TEST2 + 4);
   printf("%#x \n", TEST3 + 4);
   return 0;
}

/*
0x10 
0x5
0x5
*/

如上。

【2】總結

運算符(+ 和 <<)優先級不同,可能會導致結果差異。

實事求是、因地制宜、具體情況具體分析。

Good Good Study, Day Day Up.

順序 選擇 循環 總結


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM