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

610

    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. Natomaa hyökkäsi Iraniin

      Näemme nyt tällä hetkellä Natomaan nimeltä Yhdysvallat, joka toimii aika pitkälti perinteisen kansainvälisen lain ulkopu
      NATO
      716
      3365
    2. Trump aloitti III maailmansodan tänään.

      Narsisti ja mielipuoli Trump pitäisi saada pois, miten se onnistuisi parhaiten?
      Maailman menoa
      380
      3101
    3. Suvi Lindenillä 5 366 päivän putki

      Täytyy kyllä myöntää vaikka olen itsekin innokas, niin en ole tuollaiseen yli kymmenen vuoden putkeen kyennyt. Välillä o
      Maailman menoa
      77
      2928
    4. Mistä se kertoo

      Näin miehen pitkästä aikaa. Samantien iski sellainen paineen tunne rintaan, sitä ei ole ollut vuosiin. Ja nyt olen siitä
      Ikävä
      36
      2779
    5. Rakas tiedät, että toivoisin

      Kuulevani sinusta. Tiedät, että viestisi tekisi minut ihan onnelliseksi. Että äänesi kuuleminen saisi minut leijumaan ja
      Ikävä
      58
      2278
    6. Eräs on taas viettänyt kokoyön täällä!!

      Etkö sä nuku koskaan??
      Ikävä
      49
      1939
    7. Miksi rakastuit

      Kaivattuusi?
      Ikävä
      90
      1862
    8. Viesti miehelle

      Nyt vastaa oikea taa´app. Ainoastaan puhelimitse voidaan selvittää asioita, mutta tuskin sitä haluat kaiken halveeramise
      Ikävä
      14
      1809
    9. Nyt on sanottava että sattuu kipeästi

      Jos, sinä aikana kun olen kaivannut ja odottanut sinua ja olet tiennyt sen, niin jos valitsit toisen miehen. Katsot minu
      Ikävä
      18
      1799
    10. Teit asiat lopulta niin

      Ettei meillä ole ikinä mitään mahdollisuuksia toisiimme.
      Ikävä
      57
      1689
    Aihe