搞不清楚的警告--不知道原因--却知道怎么改
我在看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 编辑 ]











/*