鱼C论坛

 找回密码
 立即注册
查看: 4154|回复: 9

求助

[复制链接]
发表于 2013-7-23 14:39:00 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 bgtqpz 于 2013-7-23 14:48 编辑

小甲鱼你的c语言入门第3集说vc++会自动调整符号有符号遇到无符号会自动调整为有符号的为什么我把几个变量全变成无符号整形得到的值还是带符号呢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-7-30 19:29:26 From FishC Mobile | 显示全部楼层
没有人回答么
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-30 20:06:59 | 显示全部楼层
具体举个例子说明你的问题?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-30 23:45:13 From FishC Mobile | 显示全部楼层
tsembrace 发表于 2013-7-30 20:06
具体举个例子说明你的问题?

比去 int a b c d e f
a=1 b=2  c=3 d=-4   e=b+c f=a+d
当我把全部改成无符号型为啥还是能得到负数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-31 09:12:03 | 显示全部楼层

贴代码,和输出结果,这样更能说明问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-31 22:02:09 From FishC Mobile | 显示全部楼层
是那个例题3.2
int a,b,c,d;
unsigned u;
a=12;
b=-24;
u=10;
c=a+u;
d=b+u;
printf(“a+u=%d,b+u=%d\n”,c,d); b+u=-14
然后我让a b c d u 全换成unsigned b+u还是等于-14
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-31 23:42:31 | 显示全部楼层
你赋值的时候是有符号的啊~ -24 所以就把b变成有符号 然后加的时候赋值又是有符号 所以就是有符号了~~~~小甲鱼不是说了吗~vc++会自动调整符号有符号遇到无符号会自动调整为有符号~~ 思维惯性的问题~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-1 06:53:32 From FishC Mobile | 显示全部楼层
游健健jee 发表于 2013-7-31 23:42
你赋值的时候是有符号的啊~ -24 所以就把b变成有符号 然后加的时候赋值又是有符号 所以就是有符号了~~~~小甲 ...

那前面的那个是干嘛的啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-1 09:01:43 | 显示全部楼层
bgtqpz 发表于 2013-7-31 22:02
是那个例题3.2
int a,b,c,d;
unsigned u;

你最后输出的格式还是%d,当然就是-14
如果把%d改成%u就是无符号整数,但是输出结果就不正确了,就成很大的数了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-1 17:56:46 From FishC Mobile | 显示全部楼层
哦谢谢解答
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-18 19:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表