Gst*_*tso 2 c
我有一个变量i:
int i; if(b){ i=1; } else{ i=-1; }
是i因为未定义行为的int i;存在?或者我们应该int i=0先行吗?
i
int i;
int i=0
Bat*_*eba 7
绝对没问题.
您正在初始化i所有程序控制路径,而不是在初始化完成之前读取该值.
在这种情况下,我更喜欢使用三元运算符.
int i = b ? 1 : -1;
因为它不太容易被意外地引用到未初始化的i.
归档时间:
10 年,3 月 前
查看次数:
107 次
最近记录:
10 年,2 月 前