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

624

    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. Taitaa jäädä kotimaiset mansikat ostamatta

      Kotimainen mansikka on niin kallista, että en ole vielä ainuttakana maistanut. Jos hinta pysyy näin korkealla niin tästä
      Ruoka ja juoma
      75
      2196
    2. Mikä on loppuelämäsi suunnitelma

      Kaivattuasi kohtaan? Olet päättänyt jotain?
      Ikävä
      133
      1442
    3. Sinkkumiehet hukkaavat tärkeän ässän hihastaan kun

      ...eivät suostu kavereiksi naisten kanssa. Mikä voi olla heillä syynä? Hyväksyvät vain naisen, joka suorastaan anelee sa
      Ikävä
      134
      1434
    4. Uskaltaisitko vielä

      Lähestyä vai et kaivattuasi?
      Ikävä
      145
      1123
    5. Keitä täällä on??

      Kertokaa nimenne!! 🤔
      Ikävä
      105
      977
    6. "Kaikkien miesten asia" - kampanja on alkanut

      Miehillä on naisiin kohdistuvan väkivallan lopettamisessa merkittävä rooli. Ei riitä, ettei itse tee väkivaltaa. Miesten
      Maailman menoa
      366
      902
    7. Tiedät, että en voi enää laittaa viestiä

      Aikaa kulunut. Eikä se näyttäisi enää luontevalta vastata näin pitkän ajan jälkeen. Tiedän myös, että sinä et enää lait
      Ikävä
      82
      764
    8. Lautakunta käsittelee Iisalmen kulttuuri- ja vapaa-aikajohtajan virkasuhteen purkua koeajalla:

      Lautakunta käsittelee Iisalmen kulttuuri- ja vapaa-aikajohtajan virkasuhteen purkua koeajalla: "Aina valinta ei mene nap
      Iisalmi
      55
      714
    9. Lienee aika luopua siitä kaikesta

      mitä meillä ikinä olikaan. Hassua, koska juuri mitään ei ole edes ollutkaan. En vaan jaksa tätä mahdotonta juttua enää j
      Ikävä
      67
      674
    10. Kun kohtaatte rakkauden, tarttukaa siihen

      Toimisinko jälkiviisaana toisin? Varmasti. Vaikka silloin kuvittelin tekeväni, niin kuin on oikein. Mahdollisimman siist
      Ikävä
      50
      673
    Aihe