输出一串数字中间空格的问题!!

来源:百度知道 编辑:UC知道 时间:2024/09/23 08:15:57
printf("%d ",a) 这样后面就多了一个空格 为什么我后面加个printf("\b")回一格在输出是错误的

谁能解释下面这种加空格的方法啊
main()
{
nt a,b,i;
int c;
while(scanf("%d%d",&a,&b),a+b)
{
c=0;
for(i=a*100;i<(a+1)*100;i++)
if(i%b==0)
{
if(c)printf(" ");
printf("%02d",i%100);
c=1;
}
printf("\n");
}
}

if(c)printf(" ");这里是什么意思啊
做ACM的时候要是用上面那种都会WA
=====================
这里的0 1 是逻辑判断吗?

if(c)printf("")
这个意思很清楚,当你第一次出现i是b的倍数时,你直接打印出i,因为c=0;而后你把c赋为1,也就是说以后再次出现i是b的倍数时,你要先打印出空格,再打印i.

[引用] 为什么我后面加个printf("\b")回一格在输出是错误的.
-------------------------------------------------------------------------------
什么是错误,什么是正确?楼主想要什么效果?

printf("\b");就是退一格,你再输出,就没有空格了。

就是c为1的时候输出空格。
开始的时候c=0,输出一次后,c就复制为1了。这样输出一次就相当于加了一个空格。

c为真就输出一个空格吧