-1
A
回答
4
从MSDN页:
“空声明” 是表达缺少一个表达式语句。当语言的语法要求声明而不是表达式评估时,这很有用。它由分号组成。
空语句通常用作迭代语句中的占位符,或作为将标号放置在复合语句或函数末尾的语句。
了解更多:https://msdn.microsoft.com/en-us/library/1zea45ac.aspx
并说明一个典型的利用它。
当你想找到一个特定字符的第一次出现的指标在一个字符串
int a[50] = "lord of the rings";
int i;
for(i = 0; a[i] != 't'; i++)
;//null statement
//as no operation is required
0
空语句不DO任何东西,因此,独唱“;'
左右....这个代码块会什么都不做10倍的C/C++
for(int i = 0; i < 10; i++){//execute the following 10 times
;//nothing aka "null statement"
}//end for
1
一个空语句是什么都不做声明,但存在语法的原因。
while ((*s++ = *t++))
; /* null statement */
在这种情况下,null语句提供了while循环的主体。
或(免责声明:糟糕的代码)
if (condition1)
if (condition2)
dosomething();
else
; /* null statement */
else
dosomethingelse();
在这种情况下,内部和其他空语句保持外其他绑定到内如果。
1
从C11,§6.8.4.1, 6.8.3 Expression and null statements:
一个空语句(包括只是一个分号)不执行任何操作 。
该标准还提供了一些它常见的用途:
实施例2在该程序片段
char *s; /* ... */ while (*s++ != '\0') ;
空语句用于一个空的循环体供应到所述迭代 声明。
6示例3空语句也可用于在复合语句关闭前携带标签 。
while (loop1) { /* ... */ while (loop2) { /* ... */ if (want_out) goto end_loop1; /* ... */ } /* ... */ end_loop1: ; }
0
有时,空语句服务。在“过去的日子”里,数学硬件在你需要一个硬件时可能不会返回一个整数值,例如返回0.999 ...作为sin(pi/2)(即sin(90度))。
int i, j, k;
i = something;
for(j = 1; (2 * j) <= i; j *= 2);
在j中计算最大整数幂小于i。如果你不能相信日志函数返回一个确切的整数值,那么对于大型我来说效率不是很高,但很有用。
我的C++编译器不接受空语句作为函数体,但接受“空语句”,我认为它只是一个空语句块“{}”。
相关问题
- 1. 什么是C#语句的输出
- 2. C#:空字符串上固定语句的行为是什么?
- 3. 什么被认为是C++语句?
- 4. 这个C++语句是什么意思?
- 5. C# - Visual C#中这个语句的目的是什么?
- 6. 描述语句中的“空”列是什么?
- 7. 什么是MySQL中的“活动”语句?
- 8. 什么是语句查询
- 9. switch语句是什么?
- 10. 什么是调用语句
- 11. 什么是“!”在if语句
- 12. 什么是ES6 import语句
- 13. 什么是throw语句?
- 14. select语句中的select语句是什么意思?
- 15. 什么是。在Python中的导入语句是什么意思?
- 16. 在c语句中,“=”而不是“==”是什么意思?
- 17. 什么是iostream语句的语义,如myoutput << myinput.rdbuf()在c + +?
- 18. sql语句的`FROM`子句中的句点是什么?
- 19. 在c#中等效于vb6的kill语句是什么?
- 20. C检查中的if语句“if(!string)”是什么?
- 21. 这个C语句中的$$是什么意思
- 22. 这条语句在C#中的含义是什么?
- 23. 在C#中评估sql语句的最佳方法是什么?
- 24. * unspecified *在C++ typedef语句中指的是什么?
- 25. 这个语句在C++中的含义是什么?
- 26. 在C++ 11中,“return {}”语句的含义是什么?
- 27. 感叹号在Objective-C if语句中的含义是什么?
- 28. 什么是C编程语句的C#等效代码?
- 29. 什么是错在条件语句中
- 30. 什么是C#的语法@
一个例子可能是'while(1 == 1);'它永远循环无用。例如,在一个你不想终止的线程中使用它,这个线程可能会继续处理它接收到的消息,或者hanldle中断,或者让它的回调函数被其他进程调用。 – Mawg
已关闭 - 不清楚? Booo。好,所以这个问题显示缺乏研究,但没有理由用不正确的理由关闭它。 – Joshua
[在C中使用空语句]的可能重复(http://stackoverflow.com/questions/5599380/use-of-null-statement-in-c) –