Wątek przeniesiony 2017-09-21 09:00 z C# i .NET przez aurel.

Jak zrozumieć C?

0

Cześć. Studiuję akutalnie Mechanikę i budowę maszyn, jednak zarobki nie nastrajają mnie pozytywnie dlatego myślę o nauce c#. Kiedyś robiłem do tego podejście, jednak było to w młodzieńczych latach i szybko mi się znudziło. Podchodzę teraz drugi raz do programowania i mam nadzieję, że pomożecie mi zrozumieć w mniejszym lub większym stopniu ten język. Aktaulnie uczę się z książki Język ANSI C Brian, Kernighan, Dennis. Jak łatwo zrozumieć poniższy program? Nie za bardzo ogarniam int power (int m, int n);. Zmienna jest to wykładnik i zamienia się on w 10? Dlaczego zmienna m nie jest nigdzie opisana? Ogólnie to byłoby miło gdyby ktoś napisał co, jak i dlaczego :)

#include <stdio.h>

int power (int m, int n);

main()
{
	int i;
	for(i=0; i<=10; ++i)
		printf ("%2d %4d %6d\n",i, power(2,i), power(-3,i));
	return 0;
}

int power(int base, int n)
{
	int i, p;
	p=1;
	for(i=1; i<=n; ++i)
		p=p*base;
	return p;
}*
3
  1. To nie C# tylko czyste C;
  2. int power (int m, int n); to tylko prototyp funkcji, który równie dobrze mógłby być napisany tak: int power (int, int);;
  3. Nawiązując do punktu drugiego: definicja tej funkcji to int power(int base, int n). Jeżeli funkcje definiujemy pod main'em to nad nim musi być widoczny jej prototyp, no bo tych funkcji w mainie później używamy - kolokwialnie mówiąc. Kompilator musi wiedzieć czego używa;
  4. Formatuj jakoś ten kod.
1

Przekazywanie parametru przez wartość i referencję" powinien pomóc zrozumieć problem.
ANSI C i C# to zupełnie inne języki.

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