2010-09-30 52 views
1
#include<stdio.h> 
#include<conio.h> 

void insert(int arr[]); 

# define LEN 10 

int count; 

void main(void) 
{ 
    clrscr(); 
    int arr[]={20,21,22,23,24}; 
    insert(arr); 
    getch(); 
} 

void insert(int arr[]) 
{ 
    if(size==count) 
    printf("no space"); 
    return; 

    int index,value; 
    printf("enter index and value"); 
    scanf("%d %d",index,value); 
    for(int i=count-1;i>=index;i--) 
    { 
    arr[i+1]=arr[i]; 
    arr[i]=value; 
    count++; 
    } 
    printf("insert succcess"); 

} 
+0

請點擊編輯,選擇您的代碼並在頂部按1010按鈕 – 2010-09-30 12:13:32

+0

您在哪裏聲明瞭int大小? – 2010-09-30 12:16:14

回答

2

編譯C99或GNU擴展。

- 或 -

將任何聲明或表達式之前,你的聲明。

+0

+1解釋他的錯誤... – Nix 2010-09-30 12:17:44

6

你必須在這條線不正確的分號:

void main(void); 

,你忘了分號在這條線:

arr[i=1]=arr[i] 

您的代碼也有其他錯誤。例如,這樣的:

if(size==count) 
printf("no space"); 
return; 

總是回報。它等效於:

if(size==count) { 
    printf("no space"); 
} 
return; 

,是爲什麼你應該得到正確的縮進你的代碼的習慣,並獲得在使用大括號的條件語句的習慣,一個很好的例子。

此外,size尚未在任何地方聲明。最後,這:

scanf("%d %d",index,value); 

是不會做你想做的。你需要給 指針指向你想要存儲值的整數,而不是那些整數的值。

+0

我看到,以及當我縮進... +1(失蹤{}) – Nix 2010-09-30 12:16:09

+0

發現,也是:) – leppie 2010-09-30 12:19:14

+0

而你的聲明變量很多次在代碼中,你可以只在每個{@ – 2010-09-30 12:19:29