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

Veuillez cliquer sur modifier, sélectionnez votre code et appuyez sur le bouton 1010 en haut –

+0

Où avez-vous déclaré int taille? –

Répondre

2

Compilez avec les extensions C99 ou GNU.

- ou -

Placez vos déclarations avant toute déclaration ou expressions.

+0

+1 pour expliquer son erreur ... – Nix

6

Vous avez un point-virgule incorrecte sur cette ligne:

void main(void); 

et vous avez oublié un point-virgule sur cette ligne:

arr[i=1]=arr[i] 

Votre code a également d'autres erreurs. Par exemple, ceci:

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

sera toujours retour. Il est équivalent à:

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

et est un bon exemple des raisons pour lesquelles vous devriez prendre l'habitude de indenter votre code correctement et entrer l'habitude d'utiliser des accolades pour conditionals. En outre, size n'a été déclaré nulle part. Et enfin, ceci:

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

ne va pas faire ce que vous voulez. Vous devez donner des pointeurs à les entiers dans lesquels vous voulez stocker les valeurs, pas les valeurs de ces entiers.

+0

J'ai vu cela aussi quand je mettais en retrait ... +1 (manquant {}) – Nix

+0

Repéré que trop :) – leppie

+0

Et vos variables de déclaration plusieurs fois dans le code, vous pouvez déclare seulement un type de données une fois dans chaque {} –

Questions connexes