Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Jazyk C - předávání odkazem

Čus, mám primitivní program, který mi vyhazuje nesmysly, ale netuším proč

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

void zmena(int *c)
{
	printf("2. %d\n", c);
	*c = c + 1;                // warning: assignment makes integer from pointer without a cast
	printf("3. %d\n", c);
}


int main()
{
    int cislo = 0;

    printf("1. %d\n", cislo);
    zmena(&cislo);
	printf("Vysledna hodnota %d\n", cislo);

	return 0;
}
Výpis:
1. 0
2. 2686748
3. 2686752
Vysledna hodnota 2686752





V čem dělám chybu, popř. jak by to mělo vypadat, aby výsledna hodnota byla 1?

Překládám to v CodeBlocksu, spouštím přes příkazový řádek na Windows 8.1.

Odpověď na otázku

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

Zpět do poradny