%d和%u的区别
unsigned int dwValue;
printf(“%d”, dwValue);
在dwValue的值大于0x7FFFFFFF时,输出的结果会变成负数。
正确的程序应该为:
printf(“%u”, dwValue);
使用64位整数
LONGLONG llValue;
int iValue;
printf(“%d, %d”, llValue, iValue);
iValue的值永远不会被输出,第一个%d输出的是llValue的低32位,第二个%d输出的是llValue的高32位。所以程序应该修改为:
printf(“%I64d, %d”, llValue, iValue);
linux和windows下的LL_FORMAT
#ifdef _MSV_VER
#define LONGLONG(x) x##I64
#define ULONGLONG(x) x##UI64
#define LL_FORMAT "I64"
#else
#define LONGLONG(x) x##LL
#define ULONGLONG(x) x##ULL
#define LL_FORMAT "ll"
#endif
x细节,linux下编译LL_FORMAT”d 前面空一个空格,双引号会自动拼接,成对就好
\b后退无法换行
就是\b你想退到上一行是不行的,目前c或C++没有能退到上一行的办法。