错误:声明终止不正确

1 c arrays

#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");

}
Run Code Online (Sandbox Code Playgroud)

Tyl*_*nry 6

这行上有一个不正确的分号:

void main(void);
Run Code Online (Sandbox Code Playgroud)

你在这一行忘记了一个分号:

 arr[i=1]=arr[i]
Run Code Online (Sandbox Code Playgroud)

您的代码也有其他错误.例如,这个:

 if(size==count)
 printf("no space");
 return;
Run Code Online (Sandbox Code Playgroud)

始终返回.它相当于:

 if(size==count) {
   printf("no space");
 }
 return;
Run Code Online (Sandbox Code Playgroud)

并且是一个很好的例子,说明为什么你应该养成正确地缩进你的代码并习惯使用括号进行条件化的习惯.

此外,size尚未在任何地方声明.最后,这个:

 scanf("%d %d",index,value);
Run Code Online (Sandbox Code Playgroud)

不会做你想要的.您需要scanf 指向要存储值的整数,而不是这些整数的值.