Najprostszy program nie działa

0

Dobry wieczór, mam problem głupi, ale nie do rozwiązania dla mnie. Otóż na uczelni piszę program w C na temat rzutu ukośnego, wszystko odbywa się w systemie Ubuntu. Jednakże dzisiaj chciałem zacząć bawić się w C na Windowsie XP i od razu zaczęły się problemy...
W skrócie - w tym króciutkim programie, gdy wpisuje zmienną "int" i potem jakąś liczbę, np.5, to zamiast wypisać "Podales ta liczbe: 5" wynik wychodzi... 2359068. Gdy zamist "int" daję "float" to zawsze wynikiem jest 0. Programuje w Code Blocks, wcześniej używałem Dev C, który zachowywał się niemal identycznie, ale przy float program się w ogóle zawieszał i kończył pracę... Kompilator C to MinGW32, a na komputerze mam jeszcze zainstalowany Microsoft Visual Express 2010.

Tak więc o co może chodzić?

#include <stdio.h>
#include <math.h>

int main() {
	int a;
	printf (" Czesc, podaj liczbe");
	scanf ( "%d", &a);
	printf (" Podales ta liczbe: %fd", &a);
	getchar ();
	return 0;
}
1

Spróbuj

printf (" Podales ta liczbe: %d", a);

PS
Zdaje się, że powinno byc "tę liczbę" a nie "tą liczbę"

2
  1. & to podajesz przed a tylko przy scanf
  2. int - do całkowitych, float- do liczb z przecinkiem :)
  3. tu masz program działający:
#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main() 
{
    float a;
    printf (" Czesc, podaj liczbe\n");
    scanf ( "%f", &a);
    printf (" Podales ta liczbe: %f", a);
    return 0;
}
1

@CaptainPoland problem w tym że trzeba sprawdzić w dokumentacji jak sie używa czegoś skoro sie nie umie:
http://www.cplusplus.com/reference/cstdio/printf/

0

Ok, działa, rzeczywiście głupi błąd... dzięki za pomoc wszystkim :).

1 użytkowników online, w tym zalogowanych: 0, gości: 1