-2

不知道问这个问题是否真的很愚蠢,因为我觉得它违反了 C 语法。但我不确定。我在几分钟前发布的一个问题中偶然发现了这个问题。OP 使用类似(int i = 0; i < n; i++)的东西,即甚至没有;after 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++;) 
}

编辑即使来自原始问题的那一行也充满了错误。所以让我独立地问这个问题:如果我们将多个 ;终止的语句包含在一对中,它会做什么()?如果我们把它封闭在{}里面就变成了一个块,但是呢()

4

2 回答 2

5

没有什么。括号用于某些情况,例如布尔表达式和 for 循环推导。你会得到一堆语法错误。

于 2013-04-30T16:16:45.233 回答
0

常见的for循环构造:

for (int i = 0; i < 10; i++){
   //code here
}

编码

{int i = 0; i < 10; i++;}

除了将 i 设置为 0 并将其增加到 1 之外并没有真正做太多事情。我什至不确定说 i < 10 在条件之外是否有效

于 2013-04-30T16:22:50.440 回答