关于数组正确初始化的语句形式
int a={ };int a={10*1};
我想知道这两个为啥不对? 本帖最后由 jhq999 于 2022-5-29 20:58 编辑
vs里面没问题
int a={ };///相当于int a={0};可能c里面的声明规则不允许
int a={10*1};////a=10,其他=0,这个可能在c里面数值初始化不允许运算
是c不是c++. tyf1218405122 发表于 2022-5-29 20:55
是c不是c++.
小甲鱼的臀部 jhq999 发表于 2022-5-29 20:55
vs里面没问题
我觉得没问题, 只是书上遇到的题目说不可以,但没有给解析. 两个都不对?{:5_94:}
tyf1218405122 发表于 2022-5-29 20:59
我觉得没问题, 只是书上遇到的题目说不可以,但没有给解析.
各种编译器的规定很多不一样,还有各种版本的标准也不一样,既然用了工具就遵守它的规则,就是你对它骂娘它也听不懂 这两种初始化语句好像都没有遇到过
一般都是直接:int a = {0};
jhq999 发表于 2022-5-29 20:59
小甲鱼的臀部
是”烂规定“的意思吗 C:
都不行
C++
都可以
1效果是a数组全0
2效果是a是10,其余是0
页:
[1]