2010-08-26 95 views
2

如何从循环中打印结果?如何打印循环结果?

例如,如果我有这个简单的东西这样的:

k[0]=2; 
k[1]=3; 
k[2]=4; 

for (i = 0 ; i <= 2 ; i++) 
{ 
    x[i]=5*k[i]; 
} 

如何打印出结果对于x [0],X [1],X [2],而无需不断重复的数组在printf中?作为

printf("%d %d %d\n",x[0],x[1],x[2]); 

我真的不希望做上述printf的,因为我的问题,我actally有100个值的数组,我不能被重复X [0],X [1] ...一百倍。

希望有人能帮忙谢谢加载!

+0

使用循环,当然:) – 2011-09-12 13:50:53

回答

8

也许这:

for (j = 0; j < 100; j++) { 
    printf ("%d ",x[j]); 
} 
printf ("\n"); 
3

你可以把一个printf在循环中。如果你不在printf中输入“\ n”,那么下一个printf将在同一行。然后,当你完成循环时,printf只是一个换行符。

数组中没有printf类型说明符,您必须循环访问数组元素并逐个打印它们。

0

你可以认为做这样的:

k[0]=2; 
k[1]=3; 
k[2]=4; 

for (i = 0 ; i <= 2 ; i++) 
{ 
    x[i]=5*k[i]; 
    printf("%d",x[i]); 
} 
printf("\n"); 
+0

结果将不一样,所有的数字在不同的行 – Grimmy 2010-08-26 14:53:28

+0

刚刚更新我的答案,照顾你的关注。 – Kangkan 2010-08-26 15:06:26

2

你为什么不能打印出来,你去周围的循环?

for (i = 0 ; i <= 2 ; i++) 
{ 
    x[i]=5*k[i]; 
    printf("%d ", x[i]); 
} 
printf("\n"); 

除此之外,你可以有另一个循环下strcats结果一起成为一个单一的字符串输出。

+0

对不起我的不好,实际上我真正的问题围绕着一个由指针><定义的值数组,我认为这会让事情变得复杂...... – esther 2010-08-26 15:32:23

+0

您可以通过在值前添加*来打印指针中的值。即“int a = 5; int * b =&a; printf(”%d“,* b);”将打印5.如果您的数组是指针,则类似地(“int * data [10]; data [3] = malloc(sizeof(int)); * data [3] = 123; printf(”%d“, * data [3]);“ – locka 2010-08-26 16:02:15

+0

heya locka,谢谢......我cna感觉一个解决方案会来..我可以请解释一下malloc部分吗?谢谢! – esther 2010-08-27 07:16:49

2

你应该把printf语句中的循环:

k[0]=2; 
k[1]=3; 
k[2]=4; 

for (i = 0 ; i <= 2 ; i++) 
{ 
    x[i]=5*k[i]; 
    printf("%d ", x[i]); 
} 

printf("\n"); 
-3
#include <stdio.h> 
#define FOR_PRINT(index, array, size, format) \ 
    { \ 
     for(index = 0; index < size; ++index){ \ 
      printf(format, array[index]); \ 
     } \ 
     printf("\n"); 
    } \ 

int main(){ 
    int array [] = {1,2,3}; 
    int i; 
    FOR_PRINT(i, array, 3, "%d "); 
    return (0); 
} 

您可以随时使用,一个MACRO

我之前的例子并不是宏的最安全或最易读的例子,但可以成为您的起点。

+1

嗯,这是一个宏的原因是什么? – 2010-08-26 15:02:03

+2

-1:尽可能避免使用宏。这种情况绝对不需要宏。 – Puppy 2010-08-26 15:07:59

+2

旧的咒语“如果你不需要它们,就不要使用宏”。 – 2010-08-26 15:12:58

1

您已将100个数字存储在数组中,并且想要显示相同的数字。

用简单的语言,我们可以说一个数组是相似类型的项目的集合。

为此,您必须首先声明数组大小,假设您已经声明一个数组为x [100],那么它将存储100个数字,索引号为0到99,或者您可以通过声明每个数变量如x [0] = 20,x [1] = 30 ....... x [99] = 98,但这样会更耗费时间。

接受值

int x[100];  
int index; 
for(index=0;index<100;index++) 
{ 
     printf("\nEnter %d number:",index+1); 
     scanf("%d",x[i]); 
    } 

显示

for(index=0;index<100;index++) 

{ 

printf("\nArray element at index %d is %d",index,x[i]; 

} 

这将帮助你。