Funkce nedělá to co má – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Funkce nedělá to co má – C / C++ – Fórum – Programujte.comFunkce nedělá to co má – C / C++ – Fórum – Programujte.com

 

Adam
~ Anonymní uživatel
176 příspěvků
4. 1. 2012   #1
-
0
-

Dobrý den,

Zde je program který má vypočítat délku řetězce zadaného uživatelem. Ale pokaždé mi to vypíše 0 znaků. Nevím proč.

#include <stdio.h>

#define A 100     //velikost pole pro retezce
#define B 0       //pro cyklus

int vratDelku(char r[]);

int main()
{
      do{  
            char retezec[A];
     
            printf("Zadejte retezec do %d znaku: ", A);
            gets(retezec);
            printf("Velikost retezce je %d znaku.\n", vratDelku(retezec));
      }while (B == 0);
      //vyprazdneni bufferu
      while(getchar() != '\n');
      getchar();
      return 0;
}

//vratDelku: vraci delku retezce predaneho argumentem
int vratDelku(char r[])
{
    int delka;
   
    for (int i = 0; i <= A; ++i){
        if (r[i] == '\0'){
           delka = 0;
           return 0;
           }
        else
            delka = i;
    }
    return delka;
}

Nahlásit jako SPAM
IP: 46.174.59.–
KIIV
~ Moderátor
+43
God of flame
4. 1. 2012   #2
-
0
-

dela to naprosto presne cos naprogramoval... pokud narazi na konec retezce, nastavi delku na 0 a ukonci funkci s navratovou hodnotou 0

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Adam
~ Anonymní uživatel
176 příspěvků
4. 1. 2012   #3
-
0
-

#2 KIIV
No ty blaho!!!!!!!! Takova chyba!!!!! Pardon moje chyba. Ani jsem si toho nevšiml.

Nahlásit jako SPAM
IP: 46.174.59.–
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, 48 hostů

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ý