我相信我已经仔细阅读了整个printf()
文档,但找不到任何方法可以打印出来,例如,float(s)
的10个元素数组的元素。
,例如,如果我有
float[] foo = {1., 2., 3., ..., 10.};
然后我想要一个单一的陈述,如
printf("what_do_I_put_here\n", foo);
这将打印出以下内容:
1. 2. 3. .... 10.
有没有办法在香草C中做到这一点?
答案 0 :(得分:25)
你需要通过数组的元素进行迭代
float foo[] = {1, 2, 3, 10};
int i;
for (i=0;i < (sizeof (foo) /sizeof (foo[0]));i++) {
printf("%lf\n",foo[i]);
}
或创建返回堆叠snprintf的函数,然后使用
打印它printf("%s\n",function_that_makes_pretty_output(foo))
答案 1 :(得分:12)
语言中没有单一的声明说“将整个数组打印到屏幕上”。必须将数组中的每个元素单独打印到屏幕上。
但不要担心,循环是为了拯救你!,我想你的问题只是要知道是否有办法,我想在SO上有5k代表的人不需要看到代码片段到知道如何实现循环!
答案 2 :(得分:4)
你必须遍历数组并printf()每个元素:
for(int i=0;i<10;++i) {
printf("%.2f ", foo[i]);
}
printf("\n");
答案 3 :(得分:2)
我认为没有办法在printf中为你打印数组。 “printf”函数不知道你的数组有多长。
答案 4 :(得分:2)
你需要循环:
for (int i = 0; i < sizeof(foo) / sizeof(float); ++i)
printf("%f", foo[i]);
printf("\n");
答案 5 :(得分:0)
C不是面向对象编程(OOP)语言。所以你不能在OOP中使用属性。例如。 C中没有.length属性。所以你需要为你的任务使用循环。
答案 6 :(得分:-2)
要诚实一切都很好但是如果有人使用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;
}
答案 7 :(得分:-4)
你可以把它打印成字符串:
printf("%s\n", foo);