【发布时间】:2017-05-01 14:34:13
【问题描述】:
我遇到了一些 C 代码,它自己声明一个变量的“无符号”,如下所示:
unsigned crc = 0;
我认为这很奇怪,因为我希望这里有一个显式的变量类型。我很惊讶没有任何编译器警告或错误(MDK-Lite 5.12)。
那么,这是否有效,它会产生什么样的变量?
【问题讨论】:
-
当然是被骗了,但我更喜欢这里的最高评价。 (包含一个 C 引用)
标签: c
我遇到了一些 C 代码,它自己声明一个变量的“无符号”,如下所示:
unsigned crc = 0;
我认为这很奇怪,因为我希望这里有一个显式的变量类型。我很惊讶没有任何编译器警告或错误(MDK-Lite 5.12)。
那么,这是否有效,它会产生什么样的变量?
【问题讨论】:
标签: c
来自C specification,第 6.7.2 节:
——无符号或无符号整数
意思是unsigned,当没有指定类型时,默认为unsigned int。所以写unsigned a和unsigned int a是一样的。
【讨论】: