Passer un tableau de chaines à 2 dimention comme argument d'une fonction

Résolu
boujerra Messages postés 11 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 25 novembre 2012 - 5 déc. 2011 à 18:58
boujerra Messages postés 11 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 25 novembre 2012 - 6 déc. 2011 à 20:27
bonjour à tous mon probleme est le suivant je veux passer en parametre d'une fonction un tableau à 2 dimention au cour de la fonction main tout se passer comme il faut mais quand la fonction main rends la main à la fonction recherche cette derniere ne peut pas afficher le tableau t[] et le compelateur ne signal aucun
probleme
le code source:

void recherche(char nom[20],char t[][20]);
int main(){
int i;
char t[10][20];
printf("un nom:");
scanf("%s",nom);
for(i=0;i<10;i++)
printf("\nun autre nom:");
scanf("%s",t[i]);
for(i=0;i<10;i++)
printf("%s\n",t[i]);
recherche(nom,t); /**********ici tout se passe bien**************/
return 0;
}

void recherche(char nom[20],char t[][20])
{
int i;
printf("%s\n",nom);/**bien passer**/
for(i=0;i<10;i++)
printf("%s\n",t[i]);/*affiche seulement des caracteres**/
}
/**quelqu'un veut m'aides, je realise mes devoir en langage C merci d'avance***/

2 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 déc. 2011 à 08:37
Ton programme fonctionne bien, enfin, la partie passage de parametres....

là ou tu te loupes, c'est ta boucle de remplissage :

void recherche(char nom[20],char t[][20]); 

int main() { 
int i; 
char t[10][20]; 
char nom[20];
printf("un nom:"); 
scanf("%s",nom); 
for(i=0;i<10;i++) {
printf("\nun autre nom:"); 
scanf("%s",t[i]); 
}
for(i=0;i<10;i++) 
printf("%s\n",t[i]); 
recherche(nom,t); /**********ici tout se passe bien**************/ 
return 0; 
} 

void recherche(char nom[20],char t[][20]) { 
int i; 
printf("%s\n",nom);/**bien passer**/ 
for(i=0;i<10;i++) 
printf("%s\n",t[i]);/*affiche seulement des caracteres**/ 
} 


manquait les accolades de la boucle scanf.

nom n'était pas déclaré, non plus...

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
3
boujerra Messages postés 11 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 25 novembre 2012
6 déc. 2011 à 20:27
monsieur RENFIELD justifie votre reponse le nom
est bien define qu'ells accolades que j'ai oublié
et ^plus c'est pas le variable nom qui est important c'est le tableau t[]
merci
0
Rejoignez-nous