C blad Segmentation fault

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
warriorek
Piegowaty Guziec
Piegowaty Guziec
Posty: 1
Rejestracja: 29 kwie 2008, 19:14
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME

C blad Segmentation fault

Post autor: warriorek »

Witam. Rozwiazuje zadania z ksiazki "Szkola programowania - Jezyk C". Po napisaniu programu realizujacego zadanie 4.3 i probie jego uruchomienia wyskakuje mi blad:

Kod: Zaznacz cały

Podaj liczbe: 2.4356
Segmentation fault
Oto kod programu:

Kod: Zaznacz cały

/* 4.3-liczba.c -- wyswietla podana liczbe zmiennoprzecinkowa */

#include <stdio.h>

int main(void)
{
	float liczba;
	
	printf("Podaj liczbe: ");
	scanf("%f", liczba);
	printf("Wpisano liczbe %.1f lub %.1e\n", liczba, liczba);
	printf("Wpisano liczbe %+.3f lub %.3e\n", liczba, liczba);
}
Czy popelnilem jakis blad? Jak pozbyc sie tego bledu?
Awatar użytkownika
Carnophage
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 169
Rejestracja: 03 maja 2008, 22:08
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Architektura: x86_64
Lokalizacja: 127.0.0.1
Kontakt:

Odp: C blad Segmentation fault

Post autor: Carnophage »

Po pierwsze i najwazniejsze:

Kod: Zaznacz cały

scanf("%f", &liczba);
Po drugie jak deklarujesz funkcje main jako zwracajaca int, to konczymy ja linijka

Kod: Zaznacz cały

return 0;
Po trzecie polecam uzywac parametru -Wall, przy uzywaniu gcc.
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: C blad Segmentation fault

Post autor: el.pescado »

Najlepiej poczytaj o programach gdb i valgrind, programy kompiluj z opcją -Wall, czytaj komunikaty kompilatora, a na koniec czytaj dokumentację używanych funkcji:
man scanf pisze: f Matches an optionally signed floating-point number]must be a pointer to float[/U].
Słowem:

Kod: Zaznacz cały

	scanf("%f", &liczba);
gril
Sędziwy Jeż
Sędziwy Jeż
Posty: 39
Rejestracja: 09 lis 2008, 00:47
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME

Odp: C blad Segmentation fault

Post autor: gril »

Warto też poczytać o automatycznej konwersji typów :)
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 8 gości