关于C语言中unsigned变量的问题?

为什么一个字面量想表示自己是unsigne得在数值后面加u?不能直接这么定义吗:unsigneinta=100;... 为什么一个字面量想表示自己是unsigne得在数值后面加u?不能直接这么定义吗:
unsigne int a=100;
展开
 我来答
格里编程办公技巧
科技发烧友

2021-09-23 · 编程、办公知识分享与学习
格里编程办公技巧
采纳数:434 获赞数:878

向TA提问 私信TA
展开全部

定义:

C语言中定义无符号整型变量如下:

unsigned int num;

定义有符号整型变量如下:

signed int num;

或者

省略signed:int num;

C语言如果不注明是否有符号默认是signed;整型常皮亏搏量默认也是有符号int。

举例说明

比如有定义:unsigned int num = 100;

100是整型常量,因为没有标识编译器默认为有符号int处理。这语句编译会进行隐式转换先把100有符号整数转换成无符号100,再赋值给无符号num变量;

如果有定义unsigned int num = 100u;

那这里是直接告诉编译器100要当作无符号整数进行处理,那就可以直接把100u赋值给num变量。

补空液充说明:

这里因为100的有符号无符号二进制是一样的,并看不出来有什么不同,如果在超过有符号可表示的范围就不一样了这可以自己实验一下。

所以在写代码时可燃祥以手动加上标识符u来告诉编译器如何处理这个整型常量。

匿名用户
2021-09-21
展开全部

变备袜量可以用unsigned修饰,常量就不行了

所以要在基滚启整型常量后加u,表示搏如无符号数

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
arongustc
科技发烧友

2021-09-22 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:5903万
展开全部
这只是一个规定而已,是为了区分signed int 100和unsigned int 100
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
戊幻翠4O
2021-09-21 · TA获得超过200个赞
知道小有建树答主
回答量:3693
采纳率:10%
帮助的人:183万
展开全部
这种情况还是要具体问题具体分析很多情况也是进行相关的情况用相关的闹迅调整还是要可以洞升具体问液颤此题具体分析也是可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式