搞不清楚的警告--不知道原因--却知道怎么改
我在看C Primer Plus (5TH)我运行了一个例题:
程序代码:
/* toobig.c -- 超出你系统上的最大int值 */ #include <stdio.h> int main( void ) { int i = 2147483647 ; unsigned int j = 4294967295 ; printf( "%d %d %d\n" , i, i+1, i+2 ) ; printf( "%u %u %u\n" , j, j+1, j+2 ) ; return 0 ; }
然后出现了一个警告:
意思大概是:这个十进制常数是无符号类型只是在 ISO C90
但是还是不明白是啥子意思。。。郁闷。。。
后来我又自己加了段代码来理解例题:
结果出现2个一样的警告··而且奇怪的是
为什么同是一个i··但是第一个没有警告而第二个有呢。。。
我的确很不明白··而且又是菜鸟····发了很久的呆后·突然有种感觉··
应该这样改:
结果OK了··
但是我还是不明白为什么要这样改··
3次程序运行结果和书上以及我想的(我自己加的代码)是一样的
但是就是不明白这个警告到底要我做些什么··
谁告诉下我啊··谢谢了··
[ 本帖最后由 日的起烟烟 于 2010-2-27 20:51 编辑 ]