不多说,说了都是累赘!直接看代码吧!
复制代码 代码如下:
<SPAN style="FONT-SIZE: 14px">#include <stdio.h>
int array[] = {23, 34, 12, 17, 204, 99, 16};
#define TOTAL_ELEMENTS (sizeof(array)/sizeof(array[0]))
int main (void)
{
int d = -1, x;
if( d <= (TOTAL_ELEMENTS -2))
{
x = array[d+1];
printf("d <= TOTAL_ELEMENTS-2\n");
}
else
{
printf("the bug is out!\n");
}
return 0;
}
</SPAN>
有兴趣的可以先猜猜结果是啥,然后再运行下,看看结果是不是和自己想的一样? 其中的道理又是什么呢?
gcc 下如行结果如下:
复制代码 代码如下:
<SPAN style="FONT-SIZE: 14px">zy@pc:~/workspace/homework/commonfunc$ ./a.out
the bug is out!
</SPAN>
复制代码 代码如下:
<SPAN style="FONT-SIZE: 14px">
TOTAL_ELEMENTS </SPAN>
所定义的值是unsigned int 类型(因为sizeof()返回类型是无符号的),if 语句在有符号和无符号之间测试相等性,所以将
d升级为无符号(unsigned int )类型,-1转换成 unsigned int 的结果是一个非常巨大的正整数的,致使表达式为假,
所以要想结果正确,先得强转类型
复制代码 代码如下:
<SPAN style="FONT-SIZE: 14px">if( d <= (int)(TOTAL_ELEMENTS -2))
</SPAN>
这样就能得到正确的结果啦!
对无符号的建议;
1 尽量不要在代码中使用无符号类型,以免增加不必要的复杂性,尤其是仅仅因为无符号数不存在负值而用它来表示
2 尽量使用int这样有符号类型,这样在涉及升级混合类型的复杂细节时,不必担心边界情况(-1 翻译成非常大的整数)
3 只有在使用位段和二进制掩码时,才使用无符号数。而且应该在表达式中使用强制类型转换,使操作数均为有符号数或者无符号数,这样不必由编译器来选择结果的类型。
相关推荐:
智能AI写作生成:如何借助人工智能提升创作效率与质量
SEO职责:为网站注入流量,提升品牌竞争力,拼多多女装关键词排名
什么是神马排名?让你的网站脱颖而出,轻松占据搜索引擎的C位!,乳山网站优化关键词排名
用AI写文章:效率与创意的完美结合
如何通过AI写文章,轻松提高写作效率与质量
AI搜索写文章是什么意思?人工智能赋能内容创作的未来,高德地图 ai
文章创作AI:引领智能写作的新时代
【BVIP尊享体验:超越奢华,开启专属未来】,珠宝网站建设思路
SEO对策:提升网站排名与流量的必备策略,SEO入门相机平价学生
SEO关键词利器:如何借助精准关键词提升网站流量与排名,ai绘画客户
怎么用AI生成一篇文章?高效创作指南全揭秘!
ChatGPT免登录:轻松畅聊,无需注册,快速体验AI智能助手,眼泪ai
京东业绩再创新高:未来电商巨头的成功之道,如何做seo优化留痕
SEO优化排名:让您的网站在搜索引擎中脱颖而出,我ai 达瓦仓决
SEO热词:提升网站排名的关键秘诀,一句话营销推广怎么写好
seo适用于什么领域,seo适用于什么领域中 ,ai智能翻译写作机器人v1.0
SEO项目:如何通过精确优化提升企业网站排名与转化率,武汉做网站优化的公司
中国AI软实力崛起:技术创新与产业应用的完美融合,seo0066
亚马逊seo是什么公司的,“亚马逊” ,ai玩底特律
SEO怎么设置:让你的网站快速登上搜索引擎首页的秘密,Ai压印分色
ChatGPT中显示已进行一处编辑,但看不到内容?你需要了解的隐藏问题!,ai敲
SEO笔记:如何打造高效的SEO策略提升网站排名,网站优化优质服务方案
ChatGPT无法加载?检查您的网络设置并尝试重启ChatGPT,解决您的使用困扰!,ai光晕制作
ChatGPT403:引领人工智能新时代,颠覆你的工作与生活方式,ai nak
SEO应该如何提升网站流量与排名?揭秘成功的SEO策略,肺炎疫苗推广营销
AI文章比对技术:引领写作与内容审核的新革命,ai智能写作小说免费
SEO关键词推广软件官网-助力企业实现高效精准的网络营销,圈圈ai
360AI写作怎样?助力创作的新风尚,ai到访
用AI写科普文章:科技改变写作的未来
ChatGPT:我目前无法查看或解析附件,您是否遇到过这样的困扰?,ai+燃烧
SEO流程全解析:如何提升网站流量与排名,账号如何营销推广
ChatGPT付款银行卡被拒绝?解决方案全解析!,小发猫ai智能写作查重能过吗
未来写作新模式文章撰写AI如何助力内容创作
GPT-3模型下载:开启智能时代的无限可能,ai走入
SEO汇报:如何通过数据分析提升网站排名,助力企业业绩增长,免费推广网站大全百度经验
SEO详解:如何优化你的网站提升排名,获得更多流量,伊春湖南网站优化推广
seo适合什么人做,哪种seo做得好 ,晋城ai论文写作免费
怎么用AI缩写文章,轻松提高效率的全新方法
ChatGPT3.5需要登录使用吗?AI使用的真相!,电脑版写作ai推荐怎么关闭
SEO优化如何为网站做好关键词研究和优化,ai直通
AI生成网页模板,轻松打造专业网站,ai网格画法
SEO攻略:搜索引擎优化,快速提升网站排名,网站推广网站优化费用
AI一键生成文章网页版,让内容创作更简单高效
SEO优化:如何让网站更具有吸引力,散文ai写作咒语是什么
文章AI生成:让创作变得更简单、更高效!
怎么用AI写文章:高效创作的秘诀
ChatGPT的VPN梯子:畅享全球互联网自由,打破地域限制,一直搜Ai
二创AI:打破创意壁垒,引领未来内容创作新潮流,背影教案网站建设游戏
seo给你什么帮助,seo的利与弊 ,ai 大厨
seo要学什么语言,做seo需要什么语言 ,ai martino