C语言空语句的作用

如题所述

第1个回答  2019-05-14
所谓的空语句就是说没有执行代码,只有一个语句结束的标志:分号
例如:int
a
=
1;
1
while(1)
2
{
3
;
4
a++;
5
6
if(a
==
10)
7
break;
8}
第三行就是空语句,当程序执行到第三行的时候,什么都不做,继续往下执行第四行,空语句不会影响程序的功能和执行顺序,第五行是空行,与空语句不同,程序执行到第五行的时候会忽略空行,而不会忽略空语句。具体的作用我只是在测试的时候用过
第2个回答  2019-05-16
空语句一般有以下几个用途:
1.纯粹消耗CPU时间,起到延时的作用,但是注意一下,"雨落深山"说的有问题的,在嵌入式系统中一般不会这么用,原因如下:
对于嵌入式系统来讲,不论是哪种系统,一般下位芯片级的时间单位为Tick,这样的处理单位对于Tick来说太粗略了。
但是在嵌入式系统中,有一种情况下会用到:
不需要很高的精确度,并且要避免引起Task切替的延迟处理时,有时会这么用。因为起计时器进行延迟的话,超时处理会引起调度进程的轮循,出现Task切替。
2.为了程序的结构清楚,可读性好,以后扩充新功能方便。有些公司的编码规范要求,对于if/else语句等,如果分支不配对的话,需要用空语句进行配对,一般日系企业这么要求的比较多。
例如:
正常的这么做就行:
if(XXX)
{
XXXXX
}
但是编码规范要求,必须这么写
if(XXX)
{
XXXXX
}
else
{
;
}
3.
对于某些大型的软件项目,特别是一些嵌入式项目,处于自动化测试的需要,要求必须进行语句(例如,if/else语句)的配对。
在进行代码静态解析,单体测试Case抽出的时候,为了保证全路径覆盖,很多专业的高端自动测试工具,会建议进行语句(例如,if/else语句)的配对。此时对于一些不完备的分支,就会用空语句补全。
相似回答