用define定义的 1 和 1ul的区别

今天小朋友问我 #define INTEGER 1 和 #define U_SUFFIX_INTEGER 1u 的区别(1和1ul也同理)。我写了个测试代码,请看:

// test.cpp

//#include "stdafx.h"#include "string.h"#define INTEGER3#define U_SUFFIX_INTEGER3uvoid Test(void);int _tmain(int argc, _TCHAR* argv[]){Test();getchar();return 0;}void Test(void){double dVar = 0;printf("the sizeof(INTEGER) is %d \n", sizeof(INTEGER));printf("the sizeof(U_SUFFIX_INTEGER) is %d \n", sizeof(U_SUFFIX_INTEGER));printf("the sizeof(dVar) is %d \n\n", sizeof(dVar));dVar = INTEGER + 0x7FFFFFFE;printf("the value of the var is %lf \n", dVar);dVar = U_SUFFIX_INTEGER + 0x7FFFFFFE;printf("the value of the var is %lf \n", dVar);

}

运行结果如下:

,对的,坚持;错的,放弃!

用define定义的 1 和 1ul的区别

相关文章:

你感兴趣的文章:

标签云: