kleines Problem mit Funktionen
-
Guten Tag,
bin noch etwas unerfahren in Sachen Coding.Ich wollte mit mehreren Funktionen arbeiten und hab mir daraufhin ein Programm geschrieben.
Es gibt zwei Funktionen : die main, die einen int gespeichert hat und daraufhin eine nebenfunktion, die den integer aus der main nimmt und verdoppeln soll.Wenn ich das Programm aber compile, dann kommt nicht der verdoppelte Wert raus, sondern der int aus der main.
#include <iostream> #include <conio.h> using namespace std; int verdoppeln(int i); int main(){ int i = 5; int verdoppeln(); cout << i << endl; getch(); } int verdoppeln (int i) { i =i * 2; return i; }Das cmd Fenster zeigt mir dann "5" an.
-
int verdoppeln();das ist kein Funktionsaufruf!
int verdoppeln (int i) { i =i * 2; return i; }wieso kompliziert wenn es auch einfach geht?
int verdoppeln (int i) { return i * 2; }cout << verdoppeln(i) << endl;
-
asdfasdasd schrieb:
cout << verdoppeln(i) << endl;du musst einfach den wert den du möchtest ausgeben das passiert mit cout...
wenn du den rückgabewert aus der funktion verdoppeln() in deiner main benutzen möchtest musst du das auch machen (ein return alleine gibt nichts aus...) also musst du entweder die rückgabe einer variablen zuweisen oder den wert direkt ausgeben.
int i = 2; i = verdoppeln (i); // rückgabewert wird i zugewiesen std::cout << i << std::endl;oder so: (vll etwas kürzer...
)i = 2; std::cout << verdoppeln (i) << std::endl; // rückgabewert wird ausgegebenhier ist jedoch zu beachten das die variable i ihren wert in der main nicht ändert

(nur der verdoppelte-wert wird ausgegeben, da der verdoppelte-wert -i in der main(oder einer anderen variblen) der neue wert nicht zugewiesen wird).evt solltest du dich nochmal mit variablen, gültigkeiten und zuweisungen beschäftigen.
die tipps vom vorpost sind nat. im idealfall auch zu beachten.
hoff ich konnte helfen
lg