2010-08-26 126 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]; 

} 

這將幫助你。