Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 有没有一种方法可以让printf()正确地打印出一个数组(比如浮点数)?_C_Printf - Fatal编程技术网

C 有没有一种方法可以让printf()正确地打印出一个数组(比如浮点数)?

C 有没有一种方法可以让printf()正确地打印出一个数组(比如浮点数)?,c,printf,C,Printf,我相信我已经仔细阅读了整个printf()文档,但没有找到任何方法将其打印出来,例如,10个元素的浮点数组的元素 例如,如果我有 float[] foo = {1., 2., 3., ..., 10.}; 那么我想要一个单独的声明,比如 printf("what_do_I_put_here\n", foo); 可以打印出以下内容: 1. 2. 3. .... 10. 在vanilla C中有没有这样做的方法?您必须循环遍历数组和printf()每个元素: for(int i=0;i<

我相信我已经仔细阅读了整个
printf()
文档,但没有找到任何方法将其打印出来,例如,10个元素的
浮点数组的元素

例如,如果我有

float[] foo = {1., 2., 3., ..., 10.};
那么我想要一个单独的声明,比如

printf("what_do_I_put_here\n", foo);
可以打印出以下内容:

1. 2. 3. .... 10.

在vanilla C中有没有这样做的方法?

您必须循环遍历数组和
printf()
每个元素:

for(int i=0;i<10;++i) {
  printf("%.2f ", foo[i]);
}

printf("\n");

for(int i=0;i我认为在printf中没有打印数组的方法。“printf”函数不知道数组的长度。

您需要进行循环:

for (int i = 0; i < sizeof(foo) / sizeof(float); ++i)
   printf("%f", foo[i]);
printf("\n");
for(int i=0;i
您需要遍历数组的元素

float foo[] = {1, 2, 3, 10};
int i;
for (i=0;i < (sizeof (foo) /sizeof (foo[0]));i++) {
    printf("%lf\n",foo[i]);
}

您可以将其打印为字符串:

printf("%s\n", foo);

C不是面向对象编程(OOP)语言。因此,您不能在OOP中使用属性。例如,C中没有.length属性。因此,您需要在任务中使用循环。

老实说,所有这些都很好,但如果有人使用n个时间数并将其显示在输出中,则会很容易或更有效。因此,更希望这是一个好的选择。不要预定义数组变量,让用户定义和输出哦,结果如何。像这样

int main()
{
    int i,j,n,t;
int arry[100];
    scanf("%d",&n);
   for (i=0;i<n;i++)
   { scanf("%d",&t);
       arry[i]=t;
   }
for(j=0;j<n;j++)
    printf("%d",arry[j]);

return 0;
}
intmain()
{
int i,j,n,t;
国际航空公司[100];
scanf(“%d”和“&n”);

for(i=0;它可以用格式指定。但我认为不存在任何这样的说明符。我使用类似于
#define printarr(fmt,dat,len)的东西来为(int i=0;i
定义printarr(%.2f),foo,(sizeof(foo)/sizeof(float)))在Fortran中,可以使用隐含的do循环。
write(*,“(3d)”(i,i=1,12)
将打印4行,其中包含1到12的数字,每行3位。其中每个数字在打印时需要3个字符长。是否有一个C等价物来执行此操作?它看起来像是在循环中,只需使用int main() { int i,j,n,t; int arry[100]; scanf("%d",&n); for (i=0;i<n;i++) { scanf("%d",&t); arry[i]=t; } for(j=0;j<n;j++) printf("%d",arry[j]); return 0; }