2016-03-31 100 views
-1

一行多個值,我需要得到多個值與他們的工作,然後把它們放在一個陣列(15值) 我希望把所有的值在單行然後把他們一個一個在爲我怎樣才能從scanf的

for(i=0;i< SIZEARRAY; i++) 
{ 
     scanf("%d",&d); 

    arr[i] = d; 
    if(a < length(arr[i])) 
    { 
     a = length(arr[i]); 
    } 
} 

,這是本應該如何看

http://i.stack.imgur.com/Cecji.png

+1

你還沒有發佈的圖像。檢查出 – ddz

+2

如果您將所有值放在由空格分隔的單獨一行中,此時會發生什麼? 'scanf(「%d」,&d)'不應該在乎你用空格還是換行符分隔值。 –

回答

3

只要把scanf的一個循環,並直接輸入內部分成數組

for (size_t index = 0; index < SIZEARRAY; index++) { 
    if (scanf("%d", arr + index) != 1) /* error */; 
    // arr + index is the same as &arr[index] 
} 
1

圖片您可以這樣做:

for (i = 0; i < ARRSIZE; i++) { 
    if (scanf("%d", &a[i]) != 1) { /*error */ } 
    /* ok, now process me */ } 
} 
+0

它的重要,我把他們與... –

+0

我已經採取了兩種意見考慮..謝謝。 :) – blazs

0

根據您的投稿的圖像,試試這個:

for(i=0;i< SIZEARRAY; i++) 
{ 
    scanf("%d", &arr[i]); 
    //do whatever you need 
} 
+2

'scanf(「%d」,arr [i]);'→'scanf(「%d」,&arr [i]);' –

+1

您可能需要scanf(「%d」,&arr [i] );'或需要'的scanf( 「%d」,ARR + I);' –

+1

@MASh:要麼使用('陣列+ index')或('&陣列[指數]')*或('指數+ array' )或('&指數[陣列]')* – pmg