我想确切地知道,C编程语言中的null语句是什么?并解释它的典型用法。
我找到了以下代码段。
for (j=6; j>0; j++)
;
和
for (j=6; j>0; j++)
答案 0 :(得分:7)
来自 msdn 页面:
" null语句"是表达式,缺少表达式。当语言的语法调用语句但没有表达式求值时,它很有用。它由分号组成。
空语句通常用作迭代语句中的占位符,或者作为在复合语句或函数末尾放置标签的语句。
了解更多: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
答案 1 :(得分:2)
null语句是一个不做任何事情的语句,但由于语法原因而存在。
while ((*s++ = *t++))
; /* null statement */
在这种情况下,null语句提供while循环的主体。
或(免责声明:错误代码)
if (condition1)
if (condition2)
dosomething();
else
; /* null statement */
else
dosomethingelse();
在这种情况下,内部的else和null语句使外部的else不会绑定到内部的if。
答案 2 :(得分:2)
来自C11,§6.8.4.1, 6.8.3 Expression and null statements:
null语句(仅由分号组成)执行no 操作
该标准还提供了它的几个常见用途:
示例2在程序片段中
char *s; /* ... */ while (*s++ != '\0') ;
null语句用于向迭代提供空循环体 言。
6示例3空语句也可以用于携带标签 在复合陈述的结束之前。
while (loop1) { /* ... */ while (loop2) { /* ... */ if (want_out) goto end_loop1; /* ... */ } /* ... */ end_loop1: ; }
答案 3 :(得分:1)
空语句不会 DO 任何内容,因此独奏' ; '
所以......这个代码块在C / C ++
中什么都不做10xfor(int i = 0; i < 10; i++){//execute the following 10 times
;//nothing aka "null statement"
}//end for
答案 4 :(得分:1)
有时null语句起作用。在过去的旧时代&#34;当你需要时,数学硬件可能不会返回整数值,例如返回0.999 ...作为sin(pi / 2),(即sin(90度))。
int i, j, k;
i = something;
for(j = 1; (2 * j) <= i; j *= 2);
在j中计算比i小2的最大整数次幂。对于大型i来说效率不高,但如果你不相信Log函数返回一个确切的整数值,那么它很有用。
我的C ++编译器不接受null语句作为函数体,但接受&#34;空语句&#34;我认为这只是一个空的陈述块&#34; {}&#34;。
答案 5 :(得分:0)
在C \中称为空语句。在空的空间中或字符串后使用空字符时,一个地址为空
答案 6 :(得分:0)
无论是C还是java,null都有特殊的意义。 每当需要重新初始化变量的值时,null 就可以达到目的。
如果有一个字符串 i,并且我们希望它通过循环添加一个字符值,那么首先我们必须将 i 初始化为 null。