为什么回输出-1018117296

来源:百度知道 编辑:UC知道 时间:2024/06/06 04:19:09
这是我编写的小程序:
#include "stdio.h"
short int main(void)
{
short int key=50000;
printf("\n\n\n\n\nkey is %d",key);
return(0);
}

int 型数据换成long型的就行了,
因为int 行数据的区间为 -32,768 到 32,767 之间
50000超出了他的范围,所以导致溢出
所以就得不到你所要的数据
改正
#include "stdio.h"
short int main(void)
{
long int key=50000;
printf("\n\n\n\n\nkey is %ld",key);
return(0);
}

溢出了

你这个是大大的溢出

short的取值范围 你去看下书吧

int也才不过 65534/2 = 32767

unsigned int 也就 65534

短整型(short int)的取值范围是 -32768~32767
50000已经溢出,所以程序运行会出错!

内存溢出,key = 50000严重超出了short所能表示的范围.

short int main() ??? 没见过标准中有这种定义。