mooc的课程中的习题要求写出一个小于6的个数,并用该位数的后面的三位数组成一个三位数(无重复)
#include
int main()
{
int a;
scanf("%d",&a);
int i,j,k;
i=a;
//j=a;
//k=a;
while(i<=a+3)
{
j=a;
while(j<=a+3)
{
k=a;
while(k<=a+3)
{
if(i!=j)
{
if(i!=k)
{
if(j!=k)
{
printf("%d%d%d\n",i,j,k);
}
}
}
k++;
}
j++;
}
i++;
}
return 0;
}
为什么不能在我加注释的地方写j=a;k=a;,而只能在while循环中写这写东西;
这些写在外面就无法运行,请问这是为什么,谢谢
因为你如果在你所注释的地方写,那么循环的时候,每次该数据处理完之后不会回到值为a。如果在循环里边写,每次循环都会给j和k重新赋值为a,如果下一次循环仍需要j和k为a值开始,这无疑是更有利更便利的。