爲什麼下面的第一個程序工作,但第二個程序不工作?我的意思是,第二個程序提供了一個錯誤爲什麼「for(; i <= 10; i ++)」工作,但「for(i = 0; i <= 10 ;;)」不?
「之前預期的表現‘;’」
但爲什麼那麼不給同爲「爲(;我< = 10; i ++)「那裏也有第一個表達式丟失?不是「;;」 in 「for(i = 0; i < = 10 ;;)」表示第二個程序表示空白?最後,爲什麼「for(i = 0; i < = 10;)」然後刪除第二個分號?
//Program 1
#include<stdio.h>
int main()
{
int i=1;
for(;i<=10;i++)
{
printf("%d\n",i);
}
}
//Program 2
#include<stdio.h>
int main()
{
int i;
//for(i=1;i<=10;) // This works but following doesn't
for(i=1;i<=10;;)
{
printf("%d\n",i);
i++;
}
}
*計算分號,你會看到/ **兩個**不同於** three **。* – Zeta
分號(;)並不表示空白表達式。它將3個表達式分爲loop.A for循環包含2個分號 –