我不知道这是不是一个很愚蠢的问题,因为我觉得这违反了C语法。但我不确定。我在几分钟前发布的一个问题中偶然发现了这一点。OP使用了类似(int i = 0; i < n; i++)
的东西,即在i++
之后甚至没有;
。
C语言中的斐波那契数列-小于给定数的数列
但是,尽管OP的行显然是错误的,我还是想问一些我不知道的问题-以下在C中是什么意思:
(int i = 0; i < n; i++;) // Three `;` terminated statements enclosed in ()
表示C语言中的一个语句块:
{int i = 0; i < n; i++;}
我的意思是,(int i = 0,n=3; i = n; i++;)
在下面的虚拟程序中是什么意思:
#include<stdio.h>
int main(void)
{
(int i = 0,n=3; i = n; i++;)
}
Edit即使是来自原始问题的单行也充满了错误。所以让我独立地问这个问题:如果我们在一对()
中包含多个以;
结尾的语句,它会做什么?如果我们把{}
包围起来,它就变成了一个block,但是()
呢?
无。括号在某些情况下使用,例如布尔表达式和for循环推导式。你会得到一堆语法错误。
常用的循环结构:
for (int i = 0; i < 10; i++){
//code here
}
的代码{int i = 0; i < 10; i++;}
除了将I设置为0并将其增加到1之外,实际上并没有做太多事情。我甚至不确定是否说了这句话。在条件