Petit problème sur le langage C
Résolu
Teitangirl
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
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
- Langage binaire - Guide
- Trier du plus petit au plus grand excel - Guide
- Petit 3 ✓ - Forum Word
- Petit 2 ✓ - Forum Windows