【发布时间】:2013-04-24 15:24:27
【问题描述】:
不知道问这个问题是否真的很愚蠢,因为我觉得它违反了 C 语法。但我不确定。我在几分钟前发布的问题中偶然发现了这一点。OP 使用类似 (int i = 0; i < n; i++) 的东西,即在i++ 之后甚至没有;。
Fibonacci Series in C - The series of numbers up to a given number
但是,尽管 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++;)
}
编辑即使是源自原始问题的那一行也充满了错误。所以让我独立地问这个问题:如果我们在一对 @ 中包含多个 ; 终止语句会做什么987654330@?如果我们把{}括起来,它就变成了一个块,但是()呢?
【问题讨论】:
-
这可能意味着前面缺少
for。 -
我不得不编辑
(int i = 0; i < n; i++;)部分,因为即使其中也存在大量错误(来自原始问题) -
@LeeMeador 我在 OP 问题的上下文中看到了。但是在一对
()中包含;终止语句在 C 中是什么意思? -
这还能编译吗?
-
@Goodwine 看看我链接的原始问题中的代码。你会对人性失去信心。
标签: c block parentheses curly-brackets