首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在C中的数字之间插入空格

在C中的数字之间插入空格
EN

Stack Overflow用户
提问于 2010-01-18 16:28:02
回答 6查看 28.5K关注 0票数 5

如何获取像123456这样的数字并将其打印为1 2 3 4 5 6

EN

回答 6

Stack Overflow用户

发布于 2010-01-18 16:31:55

最简单的方法(虽然不是最快的)可能是首先将数字sprintf到字符串缓冲区,然后遍历缓冲区printf-ing,一次循环一个字符和一个空格。

在标准的printf格式中没有内置的方法来实现这一点。

票数 10
EN

Stack Overflow用户

发布于 2010-01-18 16:34:57

一种常见的方法是提取每个数字,然后打印该数字。我不会给你代码,但它是的实现版本:

代码语言:javascript
复制
int d; // your number

/* While `d` is not zero */
/* Modulus `d` with 10 to extract the last digit */
/* Print it, with your space */
/* Divide by 10 to remove the last digit */
/* Repeat */

这将是倒退的。我将把它作为练习留给您来解决。(提示:在循环中,将结果放入一个字符数组中,完成后从数组的最后一个索引开始并向后打印。)

票数 2
EN

Stack Overflow用户

发布于 2010-01-18 16:55:21

代码语言:javascript
复制
char buffer[50];
int myNum = 123456;
int n;
int i;

n = snprintf(buffer, sizeof buffer, "%d", myNum);

for (i = 0; i < n; i++)
{
    putchar(buffer[i]);
    putchar(' ');
}

putchar('\n');
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2084690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档