C-funkcia a char pole

Sekcia: Programovanie 26.11.2016 | 10:28
Avatar caopyp   Používateľ

Ahoj neviem sa dostať cez jeden problem. Prejdem rovno k veci. Mam hlavnú funkciu main() a ďalšiu funkciu int skuska(char slovo[], char typ[]) a keď vyvolám v main() funkciu skuska() tak to neide ako (asi preto lebo neviem čo mam zadať do funkcii skuska(????)) ona ta funkcia zbehne ale akoby nevedela parametre poli.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int skuska();

int main()
{
char slovo[]={"ahoj"};
int n=strlen(slovo);
char typ[n];
scanf("%s",typ);
int p=0;
p=skuska();
if(p==0)
printf("UPPS");
if(p==1)
printf("HURA");

return 0;
}
int skuska(char slovo[],char typ[])
{
int i=0,a=0,b;
b=strlen(slovo);
        for(i=0;i<b-1;i++)
        {
                if(slovo[i]!=typ[i])
                {
                return 0;
                }
                if(slovo[i]==typ[i])
                {
                a++;
                }
        }
printf("i=%d a=%d b=%d",i,a,b); //kontrolka 
        if(a==b-1)
        {
        return 1;

       }
}
tak asi i ja viem kde je chyba ale neviem to spraviť kontrolka vypisuje 0 0 0 takže for ani nezbehne

Vieš aký je rozdiel medzi konšpiračnou teóriou a realitou? Asi 2 roky
    • RE: C-funkcia a char pole 26.11.2016 | 10:43
      Avatar Miroslav Bendík Gentoo  Administrátor

      Nemala by mať deklarácia a definícia rovnakú signatúru?

      • RE: C-funkcia a char pole 26.11.2016 | 14:30
        Avatar caopyp   Používateľ

        ktorú definíciu myslíš ? ja chcem porovnať 2 slova a vysledok chcem len 1 alebo 0 su rovnaké alebo niesu rovnaké preto som použil int skuska()

        Vieš aký je rozdiel medzi konšpiračnou teóriou a realitou? Asi 2 roky
    • RE: C-funkcia a char pole 26.11.2016 | 14:45
      Avatar caopyp   Používateľ

      Už to funguje, len som sa musel zamyslieť čo si napísal .

      Vieš aký je rozdiel medzi konšpiračnou teóriou a realitou? Asi 2 roky
      • RE: C-funkcia a char pole 26.11.2016 | 16:31
        Avatar bedňa LegacyIce-antiX  Administrátor

        To je fajn, ešte sa nauč poriadne odsadzovať kód, lebo toto vyzerá hrozne.

        Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
        • RE: C-funkcia a char pole 26.11.2016 | 16:39
          Avatar WlaSaTy   Návštevník

          Kde je dôležitejšia forma od obsahu, tam je volený programátorský nástroj indent.

          • RE: C-funkcia a char pole 26.11.2016 | 16:48
            Avatar bedňa LegacyIce-antiX  Administrátor

            Odsadzovanie je veľmi dôležité, bez toho každý kód stráca čitateľnosť.

            Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
            • RE: C-funkcia a char pole 26.11.2016 | 17:21
              Avatar WlaSaTy   Návštevník

              Keď som sa živil programovaním, tak každý kolega používal iný typ odsadzovania. Je to ako rukopis. Môžeš na to nadávať, môžeš sa sťažovať alebo sa nad to môžeš povzniesť.

              • RE: C-funkcia a char pole 26.11.2016 | 19:39
                Avatar bedňa LegacyIce-antiX  Administrátor

                To čo je v ukážke, ale s odsadzovaním nemá nič spoločné.

                Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
                • RE: C-funkcia a char pole 26.11.2016 | 20:16
                  Avatar caopyp   Používateľ

                  čitateľnosť nadovšetko lenže to bol program na rýchlo ono ja som to potreboval použiť inde a tak som napísal dačo podobne.

                  Vieš aký je rozdiel medzi konšpiračnou teóriou a realitou? Asi 2 roky
                  • RE: C-funkcia a char pole 26.11.2016 | 20:37
                    Avatar WlaSaTy   Návštevník

                    Druhý krát použi ten indent. V opačnom prípade sa môže zadrapnúť niekto, čo spadá do prvých z dvoch mnou vymenovaných kategórií. A tá posledná sa delí na dva typy. Jeden typ to prečíta bez problémov, a odpovie k veci. Druhý typ to nebude násilím lúskať, a povznesie sa nad to bez odpovede.

          • RE: C-funkcia a char pole 26.11.2016 | 20:47
            Avatar Miroslav Bendík Gentoo  Administrátor

            Coding style ja sada jednoduchých pravidiel, kto nevie dodržiavať coding style nevie zrejme ani dobre programovať.

            Zdrojový kód je forma. Ak nezáleží na forme prečo nepísať rovno bytecode?

            Jedinou funkciou zdrojového kódu je byť čitateľný. Konzistentný kód ovplyvňuje rýchlosť čítania / pochopenia v desiatkách percent. Kód sa častejšie číta než píše, takže tá sekunda navyše pri odsadení sa niekoľkonásobne vráti pri ladení / úprave.

            • RE: C-funkcia a char pole 26.11.2016 | 21:21
              Avatar WlaSaTy   Návštevník

              Ak si to naozaj odpisoval mne, tak mi skús prezradiť prečo má iné odsadzovanie jazyk C, iné zas Perl, a úplne iné Python.

              A s tou čitateľnosťou, dúfam že to nepovieš doktorke. Ak niekoho nevieš pochopiť na prvý krát, tak nemusí byť chyba v ňom.

              • RE: C-funkcia a char pole 26.11.2016 | 21:43
                Avatar Miroslav Bendík Gentoo  Administrátor

                Nezáleží až tak na tom aké odsadenie je použité, dôležitejšia je konzistencia. Nekonzistentný štýl spôsobuje zníženie rýchlosti čítania kódu.

                U nás vo firme nemáme nič ako rukopis. Píšeme prakticky rovnako a to vrátane takých blbostí ako poradie importov (abecedne, najkôr stdlib, potom knižnice, potom projekt).

                • RE: C-funkcia a char pole 26.11.2016 | 22:17
                  Avatar WlaSaTy   Návštevník

                  Kvôli tej konzistencii som mu odporučil indent. I keď na jednoobrazovkový kód je jeho použitie zbytočné. Kto nevie niečo tak jednoduché prečítať a pochopiť, tak sa k tomu nevyjadrí pozitívne. A ani k veci. Takže jeho reakcia bude viac ako zbytočná.

                  A s tým rukopisom? Keď si zaúčaš juniora bez praxe, tak ho naučíš tvojmu rukopisu. Ale niekto čo prešiel inou školou, a ovplyvnila ho zmeska iných programovacích jazykov bude mať o dosť odlišný zápis. Ale to je už zbytočné rozoberať. Spomenul som to len kvôli tomu, že tebou spomínaný coding style je odporúčanie ktoré zo svojej podstaty nemá byť ako štandardizované. A je aj zbytočné ako informácia či ladia závesy s kobercom.

        • RE: C-funkcia a char pole 28.11.2016 | 11:16
          Avatar Tommy Angelo   Používateľ
          • RE: C-funkcia a char pole 28.11.2016 | 16:41
            Avatar caopyp   Používateľ

            Chyba mi tu tlačítko like ono to naozaj funguje. Dik celkom dobré to poupratovalo kod .

            Vieš aký je rozdiel medzi konšpiračnou teóriou a realitou? Asi 2 roky
    • RE: C-funkcia a char pole 26.11.2016 | 22:25
      Avatar Dušan Kreheľ Debian  Používateľ

      V reálnom kóde použi funkciu strcmp z <string.h>.

      A ten kód, čo máš, nie je najlepšie/najvzornejšie napísaný.

      človek z Prešovského kraja