问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言数值溢出了会怎么样?

发布网友 发布时间:2023-10-17 01:34

我来回答

3个回答

热心网友 时间:2024-02-11 23:57

我想那道题的本意是告诉读者数字常量(100)加与不加后缀l的区别。

加l编译器把常量做为long型,不加则做为int型。

题目可能假设:
1. int是16位
2. long是32位
3. int型乘法结果保存在16的寄存器中
4. long型乘法结果保存在32寄存器中。

因此这个实验在一般32位机的VC下是会成功的:
1. 当前PC下int是32位的值,完全可以容纳100000这么个数字,所以加与不加完全相同。
2. long在VC下一般也是32位,仅通过改变做乘法的数字的大小来做实验是行不通的,因为结果不管是否溢出都会相同。
3. 把i声明为short(16位),这样i和j的位数就不相同了,同时做乘法时用i*(short)100,但也行不通,因为不管什么类型的乘法的结果都是存储在32(或更高)位寄存器中的。

也就是说对后缀l的实验暂时没法做了,因为要满足:
1. 两个不同范围的数据类型(可满足)
2. 不同数据类型的结果存储在不同大小的寄存器中。(很难满足)

我想你想看结果,只能用(short)(i*100)来做了。

short i;
long j;
i=1000;
j=(short)(i*100);
printf("%ld\n",j);
j=i*100l;
printf("%ld\n",j);

return 0;

热心网友 时间:2024-02-11 23:58

应该是int和long不匹配的问题。你把j定义称int 型,或者把i定义称long型就可以解决了。

热心网友 时间:2024-02-11 23:58

你用的什么编译器?我用VC++ 结果很正常
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 养宠物的人遵守规则,是不是就能和别人平安相处呢? 我姓黄,想给 男孩,女孩,取个好听的名字 我用的苹果在稍微有点封闭的房间网络就一点都不好!想问有什么软... iPhone用哪个网速测试软件? 成都理工大学教辅岗待遇 你申请绑定的手机号己被其他绑定为了你的帐号安全你的暂时... 中国的环境污染是什么现状18 ...可以高速下载游戏的软件(电脑)在360游戏大厅速度是1200多kB,逗游才... 目前中国面临的最严峻的10个环境问题分别是哪些,有哪些解决措...34 求一张金在中Q版头像,直接发过来即可!谢啦! 求各种蛋糕高清图片~ 清爽一点的~ 多的加分~~2 金在中图片 年金的方案怎么才算节约 求高人指点人生方向 微信群怎么转到另外一个里? 求高人指点__“人生”是什么? 人活着的意义是什么? 为什么要活着,活着... 宁德福安博雅清泉湾容积率是多少? 旋钮式热水器可不可以用智能插座 如何一年内强制二次修改 有没有手机上网测速软件? 目前中国面临的最严峻的10个环境问题分别是哪些,有哪些解决措...130 如何通过车牌号查询车辆信息查询 三星手机可随便刷机,oppo的为什么不能 雷锋叔叔怎么写 怎么三星手机刷机后上不了网 我是20岁的男生,以前一般一个月遗精一到两次,但最近这个段时...4 照样子写句子:“美丽的菊花在秋雨里频频点头” 有一个单机游戏中有一个boss是一个巨大的如来,跟地球一样大...4 "我这一生只爱你一个人"英文怎么翻译?31 如何强制二次修改 我在大连,我想请问机场那个联合货币兑换泰铢的。1000元人民币兑换多_百... 如何强制二次修改? 纸嫁衣喂了饼为什么还叫 修改了一次,怎么强制修改第二次? 怎么把一个的数据转到另一个的数据? 一个月遗精两次,正常吗? 想问一下和微信账号是一回事吗? 宁德福安博雅清泉湾带装修吗? 如何预防男人出轨:防止男人出轨女人该怎么做 求各种RPG单机游戏的最终BOSS4 哪些单机游戏有大型的BOSS的?8