www问答网
所有问题
c++中为什么不允许跳过变量初始化语句
如题所述
举报该问题
其他回答
第1个回答 推荐于2016-01-24
变量如果不做初始化会怎么样呢?
如果是静态或者全局变量,编译器可能会默认置0。
但是局部变量的话那就另当别论了,你会得到一个随机值。
总之不要依赖编译器,手动初始化吧,少年
本回答被提问者和网友采纳
第2个回答 2015-02-17
没明白您的意思,c++中也不允许跳过其它的(除注释外)语句啊
C++中是一句一句顺次执行的。
或者说,为什么要跳过变量初始化语句?
相似回答
c++
goto
语句为什么不能跳过变量
定义语句
答:
goto
语句不能
跨越
变量
的定义语句向前跳转,但向后
跳过
已经执行的变量定义语句则是合法的。向前跳过未执行的变量定义语句,意味着变量可能在没有定义的情况下使用。向后跳回到一个变量定义之前,则会使系统撤销这个变量,然后再重新创建它。参考资料:《
C++
primer》...
为什么
goto
不能跳过初始化
操作
答:
没有初始化处理过的变量使用肯定会出问题,这也是初始化操作存在的必要性
,所以跳过这些初始化工作的语句肯定会有问题的。
C\
C++中
,switch case下,
变量为何不能初始化
赋值?
答:
//定义的c作用域为case 3所在的那个块所以说呢,
C++
规定
不能跳过变量初始化语句
直接跳到变量的作用域内
c++ 中
if条件句
为什么不能
先
初始化
一个
变量
再判断?
答:
){ int x=3;if(int y=x)cout<<y<<endl;return 0;} 首先,上面是能通过编译的,说明,不是因为你在if里面用了声明
语句
,而是(int y=x)!=4 这句话本身有问题,你
不能
同时声明一个
变量
然后去比较,而且这样比较也没有什么意思,既然你都赋值了,那就直接用等式后面的去比较不就行了吗?
C语言中有些
变量
可以不赋初值而有些不行
为什么
??
答:
有的可以,有的不可以。原因就是内存数据刚是否符合调用者的条件造成的,符合的就可以,不符合的就出错。因此,养成”定义
变量
就
初始化
“的好习惯,在使用变量”进行运算“前,一定要注意检查变量是否已按自己的要求进行了赋值。另:C语言全局变量的初始化是系统自动完成的,编程者可以不用单独处理。
c++ 中
if条件句
为什么不能
先
初始化
一个
变量
再判断?
答:
){ int x=3;if(int y=x)cout<<y<<endl;return 0;} 首先,上面是能通过编译的,说明,不是因为你在if里面用了声明
语句
,而是(int y=x)!=4 这句话本身有问题,你
不能
同时声明一个
变量
然后去比较,而且这样比较也没有什么意思,既然你都赋值了,那就直接用等式后面的去比较不就行了吗?
c++中
若不进行
变量初始化
会给程序造成
什么
样的影响?
答:
多数会warning。如果
变量
有指针就更麻烦了,容易出错。
C++不
进行
中变量初始化
初始化会造成
什么
影响?
答:
C++不
对
变量初始化
,可能会导致以下后果:计算结果不正确 程序逻辑与期望逻辑不一致 对于使用函数指针的程序,将导致进程崩溃。写入硬盘的数据产生错误 严重的可能导致系统甚至硬件出现故障。
C++中
局部
变量
一定要
初始化
吗,
为什么
?
答:
可以不
初始化
,但是在后续的过程中,一旦需要使用这个
变量
,一定要记得先初始化,所以在声明时就初始化是个好习惯,也是值得提倡的做法
大家正在搜
c语言变量初始化
初始化变量
局部变量初始化
关于变量的声明和初始化
成员变量初始化
未初始化的局部变量
使用了未初始化的局部变量
指针变量初始化
局部变量在使用前必须初始化