Mulla olisi tarkoituksena tehdä funktio joka laskee (osoittimia käyttämällä) merkkijonon pituuden, eli palauttaa arvonaan parametrina saamansa merkkijonon merkkien lukumaaran.
Nyt pää on lopullisesti sekaisin eikä tunnu millään onnistuvan. Näyttäisikö tuo koodi olevan yhtään sinne päin?:
#include<stdio.h> #include<conio.h> int merkit(char *os); void main (void) { char jono[100],*os os=jono; printf("\nAnna merkkijono"); gets(os); tulos=merkit(*os) printf("\nMerkkijonossa oli %d merkkia",tulos); } int merkit(char *os) { int i; for(i=0; *os!=NULL i++) return tulos; }
saatanan kenoviiva! perkele!
Muokkaa hyvä mies niitä viestejäsi.
Mitä tulee kysymykseesi " Näyttäisikö tuo koodi olevan yhtään sinne päin?": Kyllä, sinne päin. Mutta ei tuossa ole oikein mitään järkeä.
tulos=merkit(*os) // anna merkit-funktiolle parametriksi osoite, älä arvoa johon osoite osoittaa
Itse merkit() funktiokin on ihan päin persettä :) Koeta saada koodi vaikka kääntymään näin aluksi.
Aihe on jo aika vanha, joten et voi enää vastata siihen.