gpt4 book ai didi

c - 为什么 gcc 编译器允许在不给出数据类型的情况下赋值?

转载 作者:行者123 更新时间:2023-12-04 10:10:58 25 4
gpt4 key购买 nike

实际上,我错误地输入了以下语句,但编译器允许我执行该语句而没有抛出任何错误。我的代码是,

unsigned  i=3;

为什么 gcc 允许在不给出数据类型的情况下赋值?这就是 gcc 的工作方式吗?

最佳答案

来自 C11 标准,第 6.7.2 章,类型说明符,类型说明符列表显示为,

...
int, signed, or signed int
unsigned, or unsigned int
...

“语义”说,

Each of the comma-separated multisets designates the same type,...

所以,基本上,unsignedunsigned int 指的是同一类型,可以认为是可以互换的。

相同的逻辑适用于 intsignedsigned int

所以,为了回答你的问题,

Why the gcc compiler allowed assigning value without giving data type?

unsigned 本身是一个类型说明符,与unsigned int 相同。因此,从本质上讲,数据类型在这里没有缺失

关于c - 为什么 gcc 编译器允许在不给出数据类型的情况下赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31535557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com