Gå til innhold

Functions problemer


Anbefalte innlegg

Kan noen hjelpe meg med å denne kodesnutten. Etter å ha brukt funksjonen les_inn() 1 gang hopper den bare rett over neste gang jeg vil bruke den. Jeg bruker C kompilerer MinGw.

 

#include <stdio.h>

 

char les_inn(){

 

printf(" Skriv inn en bokstav ");

char c = getchar();

 

}

 

main(){

 

char c,d;

c = les_inn();

putchar©;

d = les_inn();

putchar(d);

 

}

 

på fårhånd takk.

Lenke til kommentar
Videoannonse
Annonse

Problemet er at du må tømme input-bufferen. Dette fikser det:

 

#include <stdio.h>

char les_inn() {
   char c;
   int tmp;
   printf("Skriv inn en bokstav ");
   c = getchar();

   /* Tøm input bufferen */
   while ((tmp = getchar()) != '\n' && tmp != EOF);

   return c;
}

main() {
   char c, d;
   c = les_inn();
   putchar(c);
   d = les_inn();
   putchar(d);
}

 

Note: Min kompilator ville ha deklarasjoner øverst. Om C99 godkjenner C++-deklarasjoner (i.e. hvor som helst i programmet) vet jeg ikke, men C89 gjør ihvertfall ikke det.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...