首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有个求绝对值的有关问题,百思不得其解

2012-02-13 
有个求绝对值的问题,百思不得其解计算x的绝对值#include stdio.h#include conio.hvoidmain(void){intx

有个求绝对值的问题,百思不得其解
计算x的绝对值

#include <stdio.h>
#include <conio.h>
void   main(void)
{
  int   x,y;
  clrscr();
  printf( "\n   please   input   a   number: ");
  scanf( "%d ",&x);
  if(x <0)y=-x;
  else   y=x;
  printf( "x=%-6d,y=%d ",x,y);
  getch();
}

这个程序很简单,但是很奇怪,我输入123,1234,12345的时候都显示对的,但是当我输入123456的时候,却显示x=-7616     ,y=7616.这怎么理解????我用的是turbo   c.   而且我试了,不是x=%-6d的问题.请高手解释下吧,谢了!

[解决办法]
在C语言(16位),int 范围只有 -32768 --- +32767,
你输的数据超过范围了

热点排行