Verstädnisfrage zu einer Funktion
-
/* ################################################# Eine Funktion mit mehreren Argumenten ################################################# */ #include "stdafx.h" using namespace System; Int32 produkt(Int32 x, Int32 y) { return (x*y); } [b]Int32 quadrat(Int32 x) { return (produkt(x,x)); }[/b] int main(array<System::String ^> ^args) { Int32 einVariable; Console::Write("Geben Sie die erste Zahl ein: "); einVariable=Convert::ToInt32(Console::ReadLine()); // Console::Write("Geben Sie die zweite Zahl ein: "); // einVariable2=Convert::ToInt32(Console::ReadLine()); Console::WriteLine("Das Quadrat der Zahl: {0}",quadrat(einVariable)); return 0; }
Zu diesem kleinem Programm habe ich eine Frage, es berechnet den Quadrat aus einer Zahl und gibt das Ergebnis aus. Ich verstehe die Funktion Quadrat nicht ganz, könnte mir vielleicht diese jemand erklären?
-
Moin,
Deine Funktion Quadrat berechnet das Quadrat des Parameters (hier
... also theoretisch X*X ... da man aber in Funktionen weitere Funktionen aufrufen kann, wird die Berechnung des Produktes aus X*X and die Funktion produkt abgegeben
hand, mogel
-
Das return(Rückgabe) der Funktion Quadrat ruft die Funktion produkt auch die ja auch einen wert zurück gibt. Der wert der Funktion produkt wird also durchgereicht bis zur entgültigen ausgabe im Code der Mainfunktion wo die Funktion Quadrat aufgerufen wird.
-
Sieht halt schon etwas verwirrend aus mit den Funktionen am Anfang, bin ein Anfänger... Wieso werden die Xe durch eine Komma getrennt? Ich hätte z.B erwartet, dass so das Ergebnis 2 Mal angezeigt wird, also 2 Mal Quadrat ausgegen wird.
-
Product(int x, int y) ist die Funktionsdeklaration, man muss ihr also, um sie korrekt aufrufen zu können, 2 integer Werte übergeben. Das Wird mit Produkt(x,x) gemacht.