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

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

Laster...
×
×
  • Opprett ny...