Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Code::Blocks - C - Program się kompiluje, a po wprowadzeniu danej wywala błąd

Xsionc 26 Maj 2014 21:24 945 3
  • #1 26 Maj 2014 21:24
    Xsionc
    Poziom 9  

    Witam! Uczę się podstaw programowania w C, dobrze idzie, tylko zatrzymała mnie w miejscu pewna rzecz - otóż ostatnio KAŻDY program, który piszę wywala błąd po wprowadzeniu pierwszej danej. Wszystko się kompiluje, natomiast jesli jest błąd w stylu niewstawienia przeze mnie np. średnika to wtedy pokazuje błąd. Antywirus na pewno nie blokuje kompilatora, bibliotek ani nic, nic też z tych rzeczy nie zostało usunięte ani zmodyfikowane, od czasu, kiedy działało. Przykładowe programy w które mi wywala po wprowadzeniu pierwszej danej:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Kod: c
    Zaloguj się, aby zobaczyć kod


    Kod: c
    Zaloguj się, aby zobaczyć kod


    Powiedzcie, proszę, o co tutaj się rozchodzi?[/code]

    0 3
  • Pomocny post
    #2 26 Maj 2014 21:54
    witoldwitoldowicz
    Poziom 28  

    powinienes dac wskaznik na zmienna np sscanf("%d",&liczba1);

    0
  • Pomocny post
    #3 26 Maj 2014 21:58
    Akane
    Poziom 27  

    Od razu da się zauważyć dwa typowe błędy:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Nie odsyłając do dokumentacji, podkreślę, że scanf przyjmuje kolejno format, potem zero lub więcej argumentów, którymi są wskaźniki do zmiennych.
    U Ciebie, pierwszy błąd polega na umieszczeniu wskaźnika razem z przecinkiem w formacie, a drugi błąd to podanie wartości zmiennej, zamiast jej adresu.

    Powinno być tak:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Prześledź swój kod i nanieś te poprawki. Musisz pamiętać, że w tym języku argumenty są przekazywane domyślnie przez wartość, chyba, że zmienna jest tablicą.
    Powiem nawet więcej - zwracaj uwagę na to, co wypisuje kompilator. Na pewno ostrzega o takich podstawowych błędach, a jeśli nie, to zapoznaj się z opcjami projektu i ustaw "warning level" na maximum, lub nawet pedantic.

    0
  • #4 26 Maj 2014 22:05
    Xsionc
    Poziom 9  

    Jak to jest, że jak się napisze na elektrodzie, to nagle wszystko wydaje się oczywiste tak, że samemu można na to wpaść? Dzięki wielkie, temat do zamknięcia :-)
    PS Alkane - tak ustawię, dzięki za radę

    0