#programowanie #pytanie Od razu mowię ze swoją przygodę z C zacząłem dziś rano. Dlaczego jak skompiluje i odpalę taki prosty program to się wykrzacza i pokazuje to co na screenie?
Składnia scanf jest taka, że drugi argument musi oznaczać nie "zapisz do zmiennej x", a "zapisz pod adres zmiennej x" - i ten ampersand mówi właśnie to, że ma być użyty adres zmiennej, a nie sama zmienna.
Jeżeli zacząłeś od dzisiaj (wczoraj) programować, to się tym jeszcze nie przejmuj, po prostu przyjmij, że w scanfie musisz ten ampersand dopisywać. Jak dojdziesz do wskaźników, to wszystko stanie
Od razu mowię ze swoją przygodę z C zacząłem dziś rano.
Dlaczego jak skompiluje i odpalę taki prosty program to się wykrzacza i pokazuje to co na screenie?
#include
#include
int main()
{
char x;
scanf("%c", x);
printf("%c", x);
return 0;
}
powinno być scanf("%c", &x);
Składnia scanf jest taka, że drugi argument musi oznaczać nie "zapisz do zmiennej x", a "zapisz pod adres zmiennej x" - i ten ampersand mówi właśnie to, że ma być użyty adres zmiennej, a nie sama zmienna.
Jeżeli zacząłeś od dzisiaj (wczoraj) programować, to się tym jeszcze nie przejmuj, po prostu przyjmij, że w scanfie musisz ten ampersand dopisywać. Jak dojdziesz do wskaźników, to wszystko stanie
Sekundo - ogarnij co to debugger i jak go używać
Tercjo - naprawiłem
#include
#include
int main()
{
char x;
scanf("%c", &x);
printf("%c", x);
return 0;
}