首先给代码:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
long long a = 4294967297;
printf("%d %d\n", a);
system("pause");
return 0;
}
输出结果:
解析:这是因为上面这段代码对应的二进制是这样的
0000 0001 0000 0001
因为在vs中是小端存储其存储的方式是这样的
然而我们打印的时候采用的是%d每次只读四字节,所以每次读到的都是01 00 00 00
所以每次打印的结果就是 1了。