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. Mitä sanoisit

      juuri nyt kaivatullesi jos uskaltaisit/kehtaisit?
      Ikävä
      129
      1343
    2. Mitä hyvää

      Mitä hyvää hän on tuonut elämääsi?
      Ikävä
      100
      861
    3. Mikä teidän jutussa on ongelmana?

      Missä meni pieleen?
      Ikävä
      75
      703
    4. 50
      587
    5. Koillis motor

      Kyllä on mennyt palvelu alas ku lehmänhäntä, sovitut asiat ja luvatut soitot pitää hoitaa eikä tehä oharia, täysin tumpa
      Suomussalmi
      12
      493
    6. ABC: n kahvilan uusi nimi matkimalla

      Kahvia ja virvokkeita myytiin aikoinaan ÄKKI-VANNIN KAHVILASSA Haapavedellä ja paikalliset sanoivat sitä haussia "Tuhann
      Haapavesi
      40
      474
    7. Kylillä ei ole näkynyt? Missä luuraat nainen?

      Olisit soittanut mulle nainen. Oltais voitu nähdä vaikka laavulla. Miksi pelkäät minua? Eihän siinä ole mitään järkeä. m
      Suhteet
      153
      451
    8. Tehdäänkö tänään toiveista totta?

      Poikkea tänä illasta siinä lähellä ja annetaan silmien puhua ja sen jälkeen puhu sinä lopulta mitä ajattelet..
      Ikävä
      30
      407
    9. Rydman sivuutti mutupohjalta asiantuntija-arviot tutkimusrahoitusta myönnettäessä

      Onko Rydman sopiva tai kykenevä toimimaan ministerinä? Ei ole. Ministerit ovat joutuneet puhuteltaviksi vähemmästäkin;
      Maailman menoa
      175
      384
    10. Missä näet kaivattuasi?

      Mitä teet silloin? Tuleeko pakene reaktio? Vai hellä tunne ja ere..
      Ikävä
      25
      381
    Aihe