哪错了谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/16 16:41:45
#include<stdio.h>
void main()
{
for (int i=1;i<5;++i)
for (int j=1;j<5;++j)
for (int k=1;k<5;++k)
if (i==j || j==k || k==i)
continue;
else
printf ("%d%d%d\n",i,j,k);
}
for语句里不是定义了吗

没有错,vs 2008可以正常编译通过,运行。

如果你的这个程序在特定的编译器出了问题,那么有以下可能:

如果你这个程序使用的是C的编译方式,而不是C++的编译方式的话,那么可能出现一堆错误,那是因为C只支持老式的所有变量都在开始定义的方式,程序需要改成下面的:
#include<stdio.h>
void main()
{
int i, j, k;
for (i=1;i<5;++i)
for (j=1;j<5;++j)
for (k=1;k<5;++k)
if (i==j || j==k || k==i)
continue;
else
printf ("%d%d%d\n",i,j,k);
}

i,j,k都没有定义啊!

C语言中不能这样定义变量,变量定义必须放在执行语句之前!必须修改成如下形式:

//---------------------------------------------------------------------------

#include<stdio.h>
void main()
{ int i,j,k;/*注意这里*/
for (i=1;i<5;++i)/*注意这里*/
for (j=1;j<5;++j)/*注意这里*/
for (k=1;k<5;++k)/*注意这里*/
if (i==j || j==k || k==i)
continue;
else
printf ("%d%d%d\n",i,j,k);
}
//--------------------------------------------------