新手,不知道错在哪里
#include <stdio.h>int main()
{
int i,j,k;
printf("请输入您的i,j,k值=");
scanf("%d%d%d",&i,&j,&k); 我通过这里来对i,j,k来进行赋值
for(;i<5;i++)
for(;j<5;j++)
for(;k<5;k++)
{
if (i!=k&&i!=j&&j!=k)
printf("%d%d%d ",i,j,k);
}
}
为什么最后输入数据后,没答案显示
#include <stdio.h> int main() { int i,j,k; printf("请输入您的i,j,k值="); scanf("%d%d%d",&i,&j,&k); /* 假设我这里输入3个不同的数,1 2 3 */ for(;i<5;i++) /* 进入i循环,这个for循环只有一条语句,就是下面那个for,此时i = 1 */ for(;j<5;j++) /* 进入j循环,这个for循环仍然只有一条语句,就是下面那个for,此时 j = 2 */ for(;k<5;k++) /* 进入k循环,这个for循环有两条语句,判断i j k是否均不相等,若均不相等则打印。此时 k = 3 */ { /* k循环的执行依据是 k < 5,则该循环在总共会执行两次, k = 3 和 k = 4时执行 */ if (i!=k&&i!=j&&j!=k) /* k = 3 时,i = 1,j = 2,k = 3,均不相等,打印;k = 4时,i = 1,j = 2,k = 4,均不相等,打印。 */ printf("%d%d%d ",i,j,k); } /* k = 5时,不满足k循环的执行依据,所以跳出循环,返回j循环,j++后再一次执行,进入k循环,此时由于 k = 5,不满足k循环执行依据,所以不执行k循环体内语句;j循环返回后,i循环再一次执行于此同理 */ }