Petit problème sur le langage C
Résolu
Teitangirl
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,
Je débute dans le langage c, je n'arrive pas à compiler mon programme, pourriez vous m'aider?
Merci:)
==> Le but de ce programme est d'afficher un nom de couleur selon la touche sur laquelle on appuie, et cela uniquement avec des appels de fonction dans la boucle principale.
Lorsque je compile ce programme, le message suivant apparait:
"Pointer arithmetic involving pointer to freed memory"
Mon programme est le suivant:
#include <ansi_c.h>
#include <utility.h>
#include "inc.h"
typedef unsigned char U8;
//prototypes
U8* lecture(void) ;
void ecriture(U8) ;
void main(void)
{
U8 *ptr;
while(1)
{
ptr=lecture();
ecriture(*ptr);
}
}
/* */
U8* lecture(void)
{
U8 val;
unsigned short lu;
U8 *ptr;
printf("0=JAUNE 1=VERT 2=BLEU 3=BLANC\n");
val=GetKey();
sscanf(&val,"%hu",&lu);
switch(lu)
{
case 0:
ptr="jaune";
break;
case 1:
ptr="vert";
break;
case 2:
ptr="bleu";
break;
case 3:
ptr="blanc";
break;
default:
ptr="tricheur";
break;
}
return ptr;
}
void ecriture(U8 ptr)
{
printf("%s\n",ptr);
}
Je débute dans le langage c, je n'arrive pas à compiler mon programme, pourriez vous m'aider?
Merci:)
==> Le but de ce programme est d'afficher un nom de couleur selon la touche sur laquelle on appuie, et cela uniquement avec des appels de fonction dans la boucle principale.
Lorsque je compile ce programme, le message suivant apparait:
"Pointer arithmetic involving pointer to freed memory"
Mon programme est le suivant:
#include <ansi_c.h>
#include <utility.h>
#include "inc.h"
typedef unsigned char U8;
//prototypes
U8* lecture(void) ;
void ecriture(U8) ;
void main(void)
{
U8 *ptr;
while(1)
{
ptr=lecture();
ecriture(*ptr);
}
}
/* */
U8* lecture(void)
{
U8 val;
unsigned short lu;
U8 *ptr;
printf("0=JAUNE 1=VERT 2=BLEU 3=BLANC\n");
val=GetKey();
sscanf(&val,"%hu",&lu);
switch(lu)
{
case 0:
ptr="jaune";
break;
case 1:
ptr="vert";
break;
case 2:
ptr="bleu";
break;
case 3:
ptr="blanc";
break;
default:
ptr="tricheur";
break;
}
return ptr;
}
void ecriture(U8 ptr)
{
printf("%s\n",ptr);
}
A voir également:
- Petit problème sur le langage C
- Langage ascii - Guide
- Que veut dire le petit point vert sur snap ✓ - Forum Snapchat
- Langage binaire - Guide
- Petit 2 ✓ - Forum Windows
- Trier du plus petit au plus grand excel - Guide