| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 933 人关注过本帖
标题:搞不清楚的警告--不知道原因--却知道怎么改
只看楼主 加入收藏
日的起烟烟
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:137
专家分:129
注 册:2010-2-27
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:11 
搞不清楚的警告--不知道原因--却知道怎么改
我在看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 编辑 ]
搜索更多相关主题的帖子: 警告 
2010-02-27 20:36
浩加加
Rank: 2
等 级:论坛游民
帖 子:51
专家分:14
注 册:2009-11-12
收藏
得分:2 
你那定义貌似超出取值范围了```

向来缘浅.奈何情深 如花美眷.似水流年
2010-02-27 20:43
邶风
Rank: 5Rank: 5
等 级:职业侠客
帖 子:287
专家分:335
注 册:2009-1-20
收藏
得分:2 
INT_MAX = 32767

i的数值已经达到2G了~~~

#include
2010-02-27 22:22
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:2 
/*  toobig.c -- 超出你系统上的最大int值  */

★★★★★为人民服务★★★★★
2010-02-27 22:28
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:2 
貌似这个问题有的编译器会这样,有的不会。。
说说我的理解,仅供参考。
warning的意思是“这种十进制常数只是在 ISO C90 (默认)属于无符号类型”。
因为如前面所说,4294967295 这个数超出系统上的最大int值,是无符号类型的范畴,而warning告诉你,“这种十进制常数只是在 ISO C90(默认) 属于无符号类型”。
是提醒你数据可能会因为溢出而出错。如果你在后面加个u的话,说明这个常数就是无符号类型,一点争议都没,当然不会有warning了。
2010-02-27 22:40
日的起烟烟
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:137
专家分:129
注 册:2010-2-27
收藏
得分:0 
我系统是32位的··int和long都是32位的

所以不超出···赋的值都上极限值


2010-02-27 22:41
Alar30
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:10
帖 子:988
专家分:1627
注 册:2009-9-8
收藏
得分:2 

貌似赋值的上限跟你操作系统的Bit不搭边吧?
2010-02-27 22:43
日的起烟烟
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:137
专家分:129
注 册:2010-2-27
收藏
得分:0 
貌似有点感觉了··但是抓不住··
2010-02-27 22:46
日的起烟烟
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:137
专家分:129
注 册:2010-2-27
收藏
得分:0 
总之赋的值··是极限值··没有噢溢出

程序的结果:

图片附件: 游客没有浏览图片的权限,请 登录注册
2010-02-27 22:51
日的起烟烟
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:137
专家分:129
注 册:2010-2-27
收藏
得分:0 
你们在你们电脑上试试有没有警告
2010-02-27 22:56
快速回复:搞不清楚的警告--不知道原因--却知道怎么改
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014400 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved