一个C语言问题,求帮助!

如果我定义一个变量为unsignedintnum,在最后用的时候却给num赋值为负数,但为什么编译运行后打印出num的值为该负数,为什么unsignedint不起作用呢?... 如果我定义一个变量为unsigned int num,在最后用的时候却给num赋值为负数,但为什么编译运行后打印出num的值为该负数,为什么unsigned int不起作用呢? 展开
 我来答
zhyntc
2012-10-08 · TA获得超过475个赞
知道小有建树答主
回答量:369
采纳率:100%
帮助的人:352万
展开全部
你最好贴一下代码
unsigned int 存储无符号整数, 但是如果是负数不会自动忽略符号的
区别在:int 型 存储的第一位是符号位,而unsined int 第一位就是数字位 区别在这里
估计你打印前又转了int吧?在数字较小的时候,是不会有数据位丢失的
具体的你可以找一下相应的资料
weixyc
2012-10-08 · TA获得超过1129个赞
知道小有建树答主
回答量:763
采纳率:100%
帮助的人:492万
展开全部
printf("%u",num);//这样吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
friendjoey
2012-10-08 · TA获得超过105个赞
知道答主
回答量:153
采纳率:100%
帮助的人:39.1万
展开全部
你是不是在别的地方也定义了这个变量啊?而且编译器先认为那个(假设是 int num)编译了,你这个声明没起作用啊?参考参考啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
昨日堕落
2012-10-08
知道答主
回答量:7
采纳率:0%
帮助的人:3.8万
展开全部
看你怎么打印的,因为它在内存中格式不变
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式