空else语句的写法哪个是对的?有什么区别,该怎么处理
空else语句的写法哪个是对的?有什么区别
------解决方案--------------------
这两个有区别吗?
------解决方案--------------------
没有区别!效果一样的!
都不会执行什么!
------解决方案--------------------
都可以。
;表示空语句
因为{}中可以插入0~任意多条语句,空语句也算一条语句。
所以
{
} // 0条语句
{
; //1条空语句
}
{
xxxx; //随便一条语句
}
{
;
;
;
}
随便几条语句(包括空语句)
都是合法的。
因此,;可以有,但是是多余的。
如果没有大括号,则不能省,比如
if (...) xxx; else ;
当然,这等价
if (...) xxx;
------解决方案--------------------
你可以上机操作下!
------解决方案--------------------
计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……
对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!
VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
(Turbo C或Borland C用Turbo Debugger调试,Linux或Unix下用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
------解决方案--------------------
没有区别可言
------解决方案--------------------
没有区别的 分号再多都不会错
------解决方案--------------------
都对
------解决方案--------------------
都不好,我的建议是,if/else要么都加大括号,要么都不加。
------解决方案--------------------
写个空 else 的目的是什么呢!!!!
------解决方案--------------------
都可以 但纠结这样的问题貌似没必要。。。。
------解决方案--------------------
------解决方案--------------------
if {
...
}
else
;
------解决方案--------------------
方便代码的后续扩展,这种构架以防代码后续处理
------解决方案--------------------
如果这样,就像12楼那样比较好;
因为你的代码,不知道最后会写成啥样。
都放到大括号内,方便修改和调试。
------解决方案--------------------
都可以。
;表示空语句
因为{}中可以插入0~任意多条语句,空语句也算一条语句。
所以
{
} // 0条语句
{
; //1条空语句
}
{
xxxx; //随便一条语句
}
{
;
;
;
}
随便几条语句(包括空语句)
都是合法的。
因此,;可以有,但是是多余的。
如果没有大括号,则不能省,比如
if (...) xxx; else ;
当然,这等价
if (...) xxx;
------解决方案--------------------
推荐写法:
------解决方案--------------------
个人的习惯,表示一种逻辑框架,只是当前没有实现
写法1:
if // 略
else
{
// do nothing
}
写法2:
if // 略
else
{
;// do nothing
}
------解决方案--------------------
------解决方案--------------------
没有区别!效果一样的!
都不会执行什么!
------解决方案--------------------
都可以。
;表示空语句
因为{}中可以插入0~任意多条语句,空语句也算一条语句。
所以
{
} // 0条语句
{
; //1条空语句
}
{
xxxx; //随便一条语句
}
{
;
;
;
}
随便几条语句(包括空语句)
都是合法的。
因此,;可以有,但是是多余的。
如果没有大括号,则不能省,比如
if (...) xxx; else ;
当然,这等价
if (...) xxx;
------解决方案--------------------
你可以上机操作下!
------解决方案--------------------
计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……
对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!
VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
(Turbo C或Borland C用Turbo Debugger调试,Linux或Unix下用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
------解决方案--------------------
没有区别可言
------解决方案--------------------
没有区别的 分号再多都不会错
------解决方案--------------------
都对
------解决方案--------------------
都不好,我的建议是,if/else要么都加大括号,要么都不加。
------解决方案--------------------
写个空 else 的目的是什么呢!!!!
------解决方案--------------------
都可以 但纠结这样的问题貌似没必要。。。。
------解决方案--------------------
//一般习惯这样
if (...)
{
//没有的话就直接写个注释在这,说不定以后可能用上
}
else
{
//没有的话就直接写个注释在这,说不定以后可能用上
}
------解决方案--------------------
if {
...
}
else
;
------解决方案--------------------
方便代码的后续扩展,这种构架以防代码后续处理
------解决方案--------------------
如果这样,就像12楼那样比较好;
因为你的代码,不知道最后会写成啥样。
都放到大括号内,方便修改和调试。
------解决方案--------------------
都可以。
;表示空语句
因为{}中可以插入0~任意多条语句,空语句也算一条语句。
所以
{
} // 0条语句
{
; //1条空语句
}
{
xxxx; //随便一条语句
}
{
;
;
;
}
随便几条语句(包括空语句)
都是合法的。
因此,;可以有,但是是多余的。
如果没有大括号,则不能省,比如
if (...) xxx; else ;
当然,这等价
if (...) xxx;
------解决方案--------------------
推荐写法:
else
NULL;
------解决方案--------------------
个人的习惯,表示一种逻辑框架,只是当前没有实现