首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有办法让printf()正确地打印出一个数组(比如浮点数)?

有没有办法让printf()正确地打印出一个数组(比如浮点数)?
EN

Stack Overflow用户
提问于 2011-12-09 16:10:43
回答 7查看 148.1K关注 0票数 25

我相信我已经仔细阅读了整个printf()文档,但是找不到任何方法来打印它,比如说,float(s)的10个元素数组的元素。

例如,如果我有

代码语言:javascript
复制
float[] foo = {1., 2., 3., ..., 10.};

然后,我希望有一条语句,比如

代码语言:javascript
复制
printf("what_do_I_put_here\n", foo);

它将打印出类似以下内容的内容:

代码语言:javascript
复制
1. 2. 3. .... 10.

在vanilla C中有没有办法做到这一点?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-12-09 16:18:18

您需要遍历数组的元素

代码语言:javascript
复制
float foo[] = {1, 2, 3, 10};
int i;
for (i=0;i < (sizeof (foo) /sizeof (foo[0]));i++) {
    printf("%lf\n",foo[i]);
}

或者创建一个函数,返回堆叠的sn printf,然后用

代码语言:javascript
复制
printf("%s\n",function_that_makes_pretty_output(foo))
票数 28
EN

Stack Overflow用户

发布于 2011-12-09 16:14:53

您必须遍历数组并对每个元素执行printf()操作:

代码语言:javascript
复制
for(int i=0;i<10;++i) {
  printf("%.2f ", foo[i]);
}

printf("\n");
票数 6
EN

Stack Overflow用户

发布于 2011-12-09 16:17:24

你需要进行一次循环:

代码语言:javascript
复制
for (int i = 0; i < sizeof(foo) / sizeof(float); ++i)
   printf("%f", foo[i]);
printf("\n");
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8442729

复制
相关文章

相似问题

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