[求助]是闹鬼还是怎么得,运算出这东西
main(){int a,b;
a=1;b=0;
while(a<=300)
{b=b+a;a++;}
printf("b=%d",b);
getch();
}
好郁闷,运算了好多次,得数都是负的,但如果把条件(a<=300)改成其他的数(只要条件不是(a<=300),得数就是正数晕死了,请高手解释解释啊,我真弄不明白
----------------解决方案--------------------------------------------------------
超出范围了,试一下把a b定义成long int的类型 main() {long int a,b; a=1;b=0; while(a<=300) {b=b+a;a++;} printf("b=%ld",b); getch(); }
[此贴子已经被作者于2005-7-13 17:12:30编辑过]
----------------解决方案--------------------------------------------------------
溢出了,最大能算到 a<=255
----------------解决方案--------------------------------------------------------