gpt4 book ai didi

c - rero-length ms_printf 格式字符串

转载 作者:行者123 更新时间:2023-11-30 20:37:01 25 4
gpt4 key购买 nike

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

 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++;

}
}

我的输出必须是:所有包含 7 的数字(例如 20 输出)都是 [7,14,17] 并且数字必须按顺序排列?

最佳答案

查找嵌入7的代码是错误的。例如,当您到达此 if 时,y1 将始终为 0:

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

要查找嵌入的 7,您可以这样做:

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)

关于c - rero-length ms_printf 格式字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33959020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com