En fejl jeg ikke kan se

Tags:    c++ xml

Jeg er liiiiiiiiiige begyndt at lære at programmere, og jeg er begyndt med c.
jeg er ved at lave et eksempel fra en bog, men kan ikke finde fejlen som min compiler kommer med :

main ()

{
char sprog [10];

printf ("Hvilket sprog taler du?");
scanf (sprog);
}


efter hvad min compiler siger, skal fejlen ligge i dette stykke kode :
printf ("Hvilket sprog taler du?");

men jeg ved ikke hvad der er galt.


______________________

www.groove.1go.dk |
______________________



Prøv at indsætte

<pre>
#include <stdio.h>
</pre>

i starten af dit program.

En anden gang så vedlæg fejlbeskeden, da det gør det noget nemmere at hjælpe!

Du skulle også overveje at udlove UP, da folk så er mere tilbøjelige til at hjælpe!

Mvh.,

Jakob Justsen



Jeg er liiiiiiiiiige begyndt at lære at programmere, og jeg er begyndt med c.
jeg er ved at lave et eksempel fra en bog, men kan ikke finde fejlen som min compiler kommer med :

main ()

{
char sprog [10];

printf ("Hvilket sprog taler du?");
scanf (sprog);
}


efter hvad min compiler siger, skal fejlen ligge i dette stykke kode :
printf ("Hvilket sprog taler du?");

men jeg ved ikke hvad der er galt.


Hej

Du skal inkludere stdio.h da printf og scanf findes i disse bibliotekter.

scanf egner sig ikke så godt til array's. Syntaksen for scanf er : scanf("%d",&variabel);

Det vil at man først skal definere hvilket format man ønsker at indlæse i. Så som int, char, float osv. Derefter skal man vidre give adressen på den variabel som man ønsker det indtastede gemt i.

Prøv der imod gets og puts, som indlæser en string i et givent array. Disse funktion findes i conio.h, som du så skal includere i dit program.

Syntaks:

gets(sprog);

Med venlig hilsen
Thomas Vanting




Et andet lille hint du sikker løber ind i med tiden er at scanf ikke er tilstrækkelig når der skal modtages flere ord fra brugeren. scanf vil stoppe ved det første mellemrum og så slette resten. Som mange skarpe c programmører siger, så er scanf funktionen defekt pr. design. Som alternativ skal du overveje at bruge fgets funktionen der gør det samme.

Fold kodeboks ind/udKode 


Bare til din information til fremtidig brug (jeg ved det for jeg selv er gået i samme fælde og det tog mig 3 timer at finde fejlen og rette det til den nye metode, og fra nu af bruger jeg aldrig scanf)

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



t