留声旅途 发表于 2019-9-11 21:11:24

如何循环打印一系列数字用空格隔开且首位不带空格

一般我循环打印数组中内容时打印一个数字加一个空格如printf("%d ",a)但这样输出结果末尾带一个空格,不知道如何删去。
另外问一下,已经输出的内容还能通过代码让已经printf的字符删除吗?

jackz007 发表于 2019-9-11 21:38:26

本帖最后由 jackz007 于 2019-9-11 21:46 编辑

printf("%d" , a)                            ;
for(i = 1 ; i < n ; i ++) printf(" %d" , a) ;
printf("\n")                                 ;

for(i = 0 ; i < n ; i ++) printf("\b") ;
   这条语句可以从当前光标处向后删除 n 个已经打印输出的字符。但是,不能跨行。

留声旅途 发表于 2019-9-11 22:35:25

jackz007 发表于 2019-9-11 21:38
这条语句可以从当前光标处向后删除 n 个已经打印输出的字符。但是,不能跨行。

感谢感谢第一个问题我懂了,但第二个有点不理解,不清楚用法#include <stdio.h>
int main()
{
        int i;
        printf("123456789");
        for(i = 0 ; i < 4 ; i ++) printf("\b") ;
        return 0;
}
这样好像不太行,能教一下这段代码的用法吗?{:10_302:}

jackz007 发表于 2019-9-11 23:09:23

本帖最后由 jackz007 于 2019-9-11 23:11 编辑

留声旅途 发表于 2019-9-11 22:35
感谢感谢第一个问题我懂了,但第二个有点不理解,不清楚用法
这样好像不太行,能教一下这段代码的用法吗 ...

      原先给你的示例代码有误,printf("\b") 只能使光标退格,并不能删除字符,所以,需要稍微修改一下。
#include <stdio.h>
int main(void)
{
      int i                                     ;
      printf("123456789")                     ;
      for(i = 0 ; i < 4 ; i ++) printf("\b \b") ;
}
页: [1]
查看完整版本: 如何循环打印一系列数字用空格隔开且首位不带空格