merkkitaulukko (C)

pölvästi

Jos minulla on merkkitaulukko esim.
taul[2], jossa taul[0] = 3 ja taul[1] = B

Miten voin laskea esim. x = taul[0] 3 niin, että
x:n arvoksi tulee 6.
Olen sekaisin. Auttakee....

5

576

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • täh.

      ???

      int main (void)
      {
      char taul[] = {3,'B'};
      char x = taul[0] 3;
      return 0;
      }


      x:n tyyppi voisi olla int

      • pölvästi

        Olen täyttänyt taulukon näin
        scanf("%s", &taul[0]);
        vaikutaako tuo %s asiaan? Saan omituisia tuloksia.


      • pölvästi kirjoitti:

        Olen täyttänyt taulukon näin
        scanf("%s", &taul[0]);
        vaikutaako tuo %s asiaan? Saan omituisia tuloksia.

        %s lukee merkkijonoja, joten %c on parempi, koska se lukee vain yhden merkin.


    • näin:

      >Miten voin laskea esim. x = taul[0] 3...

      Menee vähän vaikeaksi joten ei ehkä paras tapa käytännön softalle.

      Jos se on merkkitaulukko niin sen alkio täytyy tietysti muuttaa numeroksi vaikka näin:

      char temppi[2];
      temppi[0]=taul[0];
      temppi[1]='\0'

      int x = atoi(temppi) 3;

      tuo atoi() löytyy stdlibistä joten koodin alkuun rivi:
      #include

    • sekaisin

      char taul[2] on taulukko jossa elementit ovat merkkejä

      int taul[2] on taulukko jossa elementit ovat kokonaislukuja

      Koska tietokone "ymmärtää" ainoastaan numeroita, on merkit korvattu numeroilla, katso ASCII-taulukko.

      Eli A=65, B=66, C=76 jne. a=97, b=98.. 0=48, 1=49, 2=50...

      kirjoitit:
      char taul[2], jossa taul[0] = 3 ja taul[1] = B

      Miten voin laskea esim. x = taul[0] 3?

      taul[0] = merkki 3 eli sen ascii-arvo on 51. Eli tuo lauseke antaa x:lle arvon 51 3=54.

      jos lasket x= taul[0] taul[1] saat arvon 51 66=117.

      Tuolla aikaisemmin kerrottiin että voit käyttää funktiota atoi() muuttakseen merkki kokonaisluvuksi. Tämä edellyttää että tiedät mitkä solut ovat "lukuja". Tällaiset sekataulukot eivät ole kovin kiitollisia ellei osa käyttää struct jolloin voit lisätä soluun tieto onko kyseessä merkki tai luku.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. 57-vuotiads muka liian vanha töihin?

      On tämä sairas maailma. Mihin yli 55-vuotiaat sitten muka enää kelpaavat? Hidasta itsemurhaa tekemään, kun eläkkeelle ei
      Maailman menoa
      391
      4966
    2. Haluatteko miellyttää kumppaninne silmää?

      Entä muita aisteja? Mitä olette valmiita tekemään sen eteen että kumppani näkisi teissä kunnioitettavan yksilön? Olette
      Sinkut
      285
      2761
    3. By the way, olet

      mielessäni. Olet minulle tärkeä, niin suunnattoman tärkeä. En kestäisi sitä jos sinulle tapahtuisi jotain. Surullani ei
      Ikävä
      155
      1975
    4. Onko kaivattunne suosittu?

      Onko teillä paljon kilpailijoita? Mies valitettavasti näyttää olevan paljonkin naisten suosiossa :(
      Ikävä
      104
      1668
    5. J-miehelle toivon

      Hyvää yötä. Voisiko nykyistä tilannetta uhmaten vielä pienintäkään toivetta olla, päästä kainaloosi joskus lepääämään.
      Ikävä
      85
      1523
    6. Onkohan sulla enää tunteita

      kun nähdään seuraavan kerran? Niin hyvä fiilis on ollut viime aikoina, että se on nyt pahin pelkoni. Oletkohan unohtanut
      Ikävä
      51
      1390
    7. Haluatko S

      vielä yrittää?
      Ikävä
      63
      1387
    8. Täytyi haukkuu sut lyttyyn

      En haluu tuntee rakkautta sua kohtaan enää ja haluun unohtaa sut mut sit tulee kuiteki paha olo kun haluis vaan oikeesti
      Ikävä
      61
      1367
    9. Kylpyläsaaren Lomakylän kahvilaravintola

      Kävimme syömässä Kylpyläsaaressa. "Naudanliha burgeri" maksoi 18,90 euroa ja lisäksi limsa 4,50 euroa. Annoksen hinnaks
      Haapavesi
      64
      1334
    10. Rakkauden riemuvoitto

      Valta voidaan voittaa tiedolla. Mutta tieto on huonompi kuin kauneus, hellyys ja rakkaus. Siksi kauneus on vallan ja tie
      Hindulaisuus
      349
      1111
    Aihe