2012-02-26 1 views
-1

J'utilise Xcode 4.1 sous Mac OS 10,7déclaration implicite

#include <stdio.h> 
int main (int argc, const char * argv[]) 
{ 
int i, j; 
i = 1; 
j = 9; 
printf("i = %d and j = %d\n", i, j); 

swap(&i, &j); 
printf("\nnow i = %d and j = %d\n", i, j); 


return 0; 
} 

swap(i, j) 
int *i, *j; 
{ 
int temp = *i; 
*i = *j; 
*j = temp; 
} 

Je reçois l'avertissement échange « déclaration implicite de la fonction « » est invalide dans C99

+0

Et quelle est votre question? –

+1

duplicata possible de [Que signifie "déclaration implicite de la fonction"?] (Http://stackoverflow.com/questions/2161304/what-does-implicit-declaration-of-function-mean) - veuillez utiliser la recherche avant vous posez une nouvelle question. –

Répondre

1

Déclarez votre fonction avant principale:

void swap(int *i, int *j); 

/* ... */ 
int main... 

Et définir plus tard:

void swap(int *i, int *j) 
{ 
    /* ... */ 
} 

Vous pouvez également fusionner les deux et déplacer la définition entière avant main.

0

Un nom de fonction doit être déclaré avant son utilisation dans C99.

Vous pouvez définir votre fonction swap avant main ou mettre une déclaration de la fonction avant main.

Vous utilisez également la définition de fonction de style ancien pour la fonction swap. Ce formulaire est une fonctionnalité obsolète C, voici comment vous devez définir votre fonction:

void swap(int *i, int *j) 
{ 
    ... 
} 
Questions connexes