Does (int i = 0;我& lt;n;i++;)用作块而不是{int I = 0;我& lt;n;i++;}在

  • 本文关键字:i++ int Does block parentheses curly-brackets
  • 更新时间 :
  • 英文 :


我不知道这是不是一个很愚蠢的问题,因为我觉得这违反了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之外,实际上并没有做太多事情。我甚至不确定是否说了这句话。在条件

之外有效。

相关内容

  • 没有找到相关文章

最新更新