Avatar billede jamal_s Nybegynder
07. februar 2002 - 08:46 Der er 7 kommentarer og
1 løsning

forklare int ?

hejsa..

Kan du forklare mig hvorfor dette [i] variable giver noget andet end det tal man indtaster.

gemmer [i] på den måde..
i = scanf("%d", &minnum);

hvis jeg taster 1 så får [minnum tallet 1] og [i tallet 0]
de er begge to angivet som int !

på forhånd tak for hjælpen !
Avatar billede mbulow Nybegynder
07. februar 2002 - 08:55 #1
Hejsa :)

Jeg kan godt forklare dig HVORFOR 'i' ikke får den værdi du indtaster, men ikke lige hvorfor den bliver 0 (Jeg ville mene den skulle være 1)

Forklaringen er at scanf returnerer antallet af variable der har fået tildelt en værdi... Dvs:
scanf("%d %d", &a, &b) skulle returnere 2 hvis du indtaster to værdier separeret med mellemrum
Avatar billede soepro Nybegynder
07. februar 2002 - 10:02 #2
scanf returner antallet af indlæste værdier ~ antallet af parametre du har skrevet efter format strengen. Ideen er at du derved kan checke om din indlæsning er korrekt:

if (scanf("%d", &minnum) != 1)
  printf("Fejl under indlæsning");

scanf er meget følsom over for om tingene indtastes på det korrekte format, og det anbefales derfor gerne at man anvender gets() til at læse input strengen, og først derefter anvender scanf til at "trække" værdierne ud.
Avatar billede jamal_s Nybegynder
07. februar 2002 - 10:15 #3
takker for forklaring, men jeg er ik helt med på hvad i mener :(
Jeg bruger koden til at tjekke om brugeren har indtaste tal !!

if (i == 0)
{
    printf("\nDu m† ik bruge bogstaver !");
}
Avatar billede soepro Nybegynder
07. februar 2002 - 12:26 #4
Yeps, lige præcis ! Jeg har bare puttet scanf() ind i if'en.

i = scanf("%d", &minnum);
if (i != 1)
{
}

er lige så godt.
Avatar billede mbulow Nybegynder
07. februar 2002 - 15:41 #5
Det må vel næsten være det der er hans problem... Selvom han indtaster 1, returnerer scanf værdien 0... Jeg må bare indrømme at JEG ikke umiddelbart har en forklaring
Avatar billede jamal_s Nybegynder
18. februar 2002 - 21:03 #6
desværre, jeg kunne ik bruge nogen af de der forklaringer :(
Avatar billede soepro Nybegynder
19. februar 2002 - 08:48 #7
Nåh - hvad gjorde du så ?
Avatar billede jamal_s Nybegynder
19. februar 2002 - 12:33 #8
jeg brugte bare en anden løsning som jeg kunne forklare !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester