Délka řetězce – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Délka řetězce – C / C++ – Fórum – Programujte.comDélka řetězce – C / C++ – Fórum – Programujte.com

 

Martin
~ Anonymní uživatel
1600 příspěvků
9. 3. 2012   #1
-
0
-

Zdravím, nemůžu přijít na to proč mi tenhle kód  vrací délku řetězce o jedna menší než je skutečná např pro slovo "ahoj" číslo 3 místo 4ky. Nemůžu za boha na to přijít proč? Vím že je to asi nějáká pitomost ale už se nad tím trápím asi půl hoďky a nic mě nenapadá.

int porovnej(char *t1, char *t2)
{
    int i, j, delka, d1, d2;
    delka = 0;

    for(i=0; *(t1+i)!='\0'; i++) //merime delku retezce
    {
        d1 = i;
    }

...
Nahlásit jako SPAM
IP: 83.240.73.–
fnenks+1
Stálý člen
9. 3. 2012   #2
-
0
-

Musis si uvedomit, ze prvni pismeno zacina na [0]..

Vysvetlim ti to na prikladu, kde t1 ma jen jeden znak:

t1[0]="P";
t1[1]="\0";

Cyklus for nastavi d1 = 0 a pak skonci, protoze t1[1]="\0"

Nahlásit jako SPAM
IP: 88.101.84.–
vitamin+8
Grafoman
9. 3. 2012   #3
-
0
-

lebo najprv sa ti priradi d1 = i;      az potom sa i inkrementuje

mozes to napisat ale jednoduhsie:

    
for(d1=0; *(t1+d1)!='\0'; d1++); 
    
Nahlásit jako SPAM
IP: 178.143.60.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Martin
~ Anonymní uživatel
1600 příspěvků
9. 3. 2012   #4
-
0
-

#3 vitamin
Díky, za vysvětlení 

Nahlásit jako SPAM
IP: 83.240.73.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Podobná vlákna

Delka iframu — založil bbtrash

Délka pole — založil Scorpio

Délka stránky — založil Pepa

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý