2016-03-31 61 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