2010-09-30 94 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