Gå til innhold

litt nybegynner hjelp.


Anbefalte innlegg

Hei er helt ny til C og har noen spørsmål.

hentet denne koden ut av "C for Dummies"

 

#include <stdio.h>
int main()
{
char me[20];
printf(“What is your name?”);
scanf(“%s”,&me);
printf(“Darn glad to meet you, %s!\n”,me);
return(0);
}
noe som gir meg dette:
W:\IKT\Kenneth\tcc>tcc readline.c
readline.c:5: error: unrecognized character \xe2
begynte først og lese "C The Programming Language" hvor eksemplene fungerte som de skulle. men ble litt sittende fast pga at jeg ikke skjønte de forskjellige variablene helt og "printf" kommandoen med de forskjellige verdiene %d %s blabla. Hvor jeg da hoppet over til "C for dummies" for å få det inn med en litt mindre skje. men her fungerer ikke eksemplene som sagt.
leste på forumet her at "C++ for dummies" er en dårlig bok. er det samma tilfelle med "C for dummies" ? virker sånn...
hvis noen kunne ha forklart meg litt så hadde det vært veldig fint. :-)

 

Lenke til kommentar
Videoannonse
Annonse

Personlig liker jeg å se videoer da jeg hater og lese, og synes kode med forklaring i bøker bare blir rotete.

Kan lite C, men av annen erfaring vil jeg si at..

readline.c:5: error: unrecognized character \xe2

..kommer av ett tegn programmet ikke skjønner. Skrev du inn æøå, eller andre spesial tegn?

Prøv med kun plain engelsk.

 

-Daniel

Lenke til kommentar

\xe2 er en variant av whitespace, noe C-compilers ikke godtar. Gjør en search-and-replace på alt gr + space.

 

Øvrige tips:

 

#1: Bruk code-tagen.

#2: Topic. tcc error: unrecognized character \xe2 hadde vært en fin trådtittel, den nåværende er ikke.

#3: For dummies-bøkene har jeg inntrykk av at er helt ubrukelige.

 

edit: Woho, buffer-feil i første program. Ikke en veldig lovende start.

Endret av Lycantrophe
Lenke til kommentar

så at i dummie boka så sto det at "char var[20]" lagde en variable med plass til 20 bokstaver i. men den har plass til mer har jeg testet. trodde det var at den lagde 20 variabler innenfor den samme. så du kan hente dem med var[1] var[2] var[3] osv. jeg eller boka som har rett?

Lenke til kommentar

Plass til mer er undefined behaviour. Dette forstår du antagelig ingenting av, men kort sagt betyr det at dersom du skriver noe lenger enn 20 bokstaver kan alt skje og programmet er ugyldig etter C-standarden.

 

Du kan fint se på det som 20 anonyme variabler (som i C er minnelokasjoner) etter hverandre. Så begge.

 

Men kast for dummies-boken.

Endret av Lycantrophe
Lenke til kommentar

Int har mange begrensninger.

 

Om du ikke vet hvor lang input kommer til å være må du begrense den. Eller lese inn i flere omganger. getline() i POSIX gjør dette for deg og håndterer reallokering.

 

Short og long er heltallstyper, men med annen størrelse (ofte, men ikke nødvendigvis iirc) enn int.

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...