C rero长度ms_printf格式字符串

C rero长度ms_printf格式字符串,c,C,有人可以解释为什么我的代码不起作用 printf("Please enter a number for 7 boom game\n"); scanf("%d",&n1); printf("[") if(n1<7) printf(""); else if (n1 >=7) printf("7") for (i=1;i<=n1;i++) { while((i!=0)&&(n1>=i

有人可以解释为什么我的代码不起作用

 printf("Please enter a number for 7 boom game\n");
   scanf("%d",&n1);
   printf("[")     
   if(n1<7)
   printf("");
   else if (n1 >=7)
   printf("7")

   for (i=1;i<=n1;i++)
   {

    while((i!=0)&&(n1>=i)&&(i!=7))
    {
    if(i%10==7)
    printf(",%d",i);
    else if(i%7==0)
    printf(",%d",i);
    else
    {
    y1=i;
    while(y1!=0)
    {
    y1=y1/10;
    k++;

    }
    for(j=0;j<=k;j++)
    {
    div=div*10;

    }

    if((y1)%div==7)
    printf(",%d",i);

    }

    i++;

    }
    }
printf(“请为7-boom游戏输入一个数字\n”);
scanf(“%d”&n1);
printf(“[”)
如果(n1=7)
printf(“7”)
对于(i=1;i=i)和(i!=7))
{
如果(i%10==7)
printf(“,%d”,i);
else if(i%7==0)
printf(“,%d”,i);
其他的
{
y1=i;
而(y1!=0)
{
y1=y1/10;
k++;
}

对于(j=0;j查找嵌入的
7
s的代码是错误的。例如,当您到达此
if
y1
将始终是
0

if((y1)%div==7)
    printf(",%d",i);
}
要查找嵌入式
7
s,您可以这样做:

y1 = i;
do {
    if (y1%10 == 7) {
        // Last digit in y1 is 7
        printf(",%d",i);
        break;
    }
    y1 = y1 / 10;  // Remove last digit in y1
} while (y1 > 0) 

缺少函数定义和变量定义?以及
printf(“[”)
printf(“7”)
之后缺少分号。还有一个零长度
printf(“”
函数请缩进您的代码。此代码甚至不会编译。非常感谢klas lindbäck