C语言变量与内存的一个问题,请高手指教。十分感谢。
最近在学习C语言。在学习变量定义时编写了一下程序:#include "stdio.h"
#include "conio.h"
#include "stddef.h"
int main(void)
{long int e=0; /*定义变量并初始化*/
e=32768;
printf("%d\n",sizeof(e));
printf("%d\n",e);
printf("%x\n",e); /*输出数值*/
getch();
return 0;
}
输出结果为:4
-32768
8000
变量e明明是四个字节的整形变量,可是这个程序的输出结果显示我赋给e的值溢出了,实在百思不得其解。我用的是WIN-TC1.9.1版本的编译器。
麻烦高手在百忙之中抽空解答一下,十分感谢。