salut,

j'ai crée un fichier source :A.c

voici la fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
char * choixPersonnage(void)
{
char * g ="Guerrier";
char * m="Magicien";
char * r;
 
int choix;
 
do{
printf("choisisez un heros:\n");
scanf("%d",&choix);
 
switch(choix)
{
case 1 : r=g; break;
case 2 : r=m;break;
default :printf("veuillez recomencer votre choix\n");
}
}while (choix!=1&&choix!=2);
 
return r;
}
le probleme est quand j'introduit la fonction dans le programme principal


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
#include <stdio.h>
 
int main()
{
char * p;
 
p=choixPersonnage();
 
printf("%s",*p);
 
return 0;
}

j'ai une erreur :1)pourquoi ?


2) toujours avec les pointeur lors d'un fonction
exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
void affiche (char *s)
{
if (s=="magicien")
{
printf("vous etes un magicien");
}
else
  {
printf("vous etes un guerrier\n");
 }
}
a (s=="magicien") pourquoi faut t'il ecrire s et non *s==magicien

merci !