Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Céčko, jednoduchý zárhel s returnem

int i;
Používáš jako index, ale na začátku jsi proměnnou neinicializoval.
while (i<=delka)
Uprav nerovnost na ostrou, tzn. místo <= dej jen <. Spočítáš sice správně délku, ale pole se indexují od 0, takže max. index je o jedničku menší.
for (i=0; i<=delka; i++)
Tady to stejné.

Pak to funguje. Velké písmena to posune o 3 pozice a pokud se vyskytne malé, tak to vrátí NULL (nevím k čemu to je ale budiž).

Ještě pár drobností:
if (*(str + i) < 65) test = 1;
Jak narazíš na nevyhovující znak, můžeš cyklus ukončit příkazem break. Nemá cenu procházet další znaky. A hned za cyklem můžeš provádět kontrolu proměnné test a vracet NULL, pokud byla nastavena. Je vcelku zbytečné alokovat pole a provádět další operace, když už stejně víš, že budeš vracet NULL.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny