JOBE 发表于 2022-12-28 15:16:36

请问在c语言中有规定常量无unsigned型吗?

本帖最后由 JOBE 于 2022-12-28 15:17 编辑

看到了这2个帖子:
https://www.amobbs.com/forum.php?mod=viewthread&tid=5717401;
https://www.amobbs.com/forum.php?mod=viewthread&tid=5774430&highlight=c51;
里面说【在c语言中是这样规定的:常量无unsigned型。】,可是我查了资料,没看到这个规定啊,看到有资料说如果在常量后加上u就是unsigned型了,例如10u,有点懵

Huaan 发表于 2022-12-28 15:30:17

本帖最后由 Huaan 于 2022-12-28 15:37 编辑

估计指的是随便定义了一个未加尾缀常量,比如10,编译器默认会把10作为有符号数处理,而不是说只能定义有符号常量。

另外以下是《C语言参考手册》第2.7.1 整型常量章节的相关描述:

zzh90513 发表于 2022-12-28 15:48:01

#define 定义常量如果不加 "u"尾缀就是有符号,加了就是无符号;如果使用const定义常量,那就跟着变量类型,不存在歧义

iamseer 发表于 2022-12-28 18:05:35

你看的那是帖主自行发挥的部分,并不是翻译,还很不幸是错的。

楼上几位对于符号类型的解释是对的,我就不再重复了。

下一页 发表于 2022-12-28 21:37:12

你用汇编的思想去思考,就知道,有符号和无符号在内存中存在的方式肯定是不一样的。

JOBE 发表于 2022-12-29 13:04:47

谢谢{:biggrin:}{:biggrin:}{:biggrin:}
页: [1]
查看完整版本: 请问在c语言中有规定常量无unsigned型吗?