einige fragen
-
Hab ich das richtig Kommentiert?
#include<stdio.h> //Bibliothek für den Befehl printf #include<conio.h> //Bibliothek für den Befehl getch() int main(void) { int zahl1,zahl2,zahl3,zahl4; //zahl1,2,3,4 werden deklariert zahl1=3*2; //zahl1 wird Initialisiert zahl2=zahl3=zahl1*2; //zahl2 wird Initialisiert zahl3=zahl3*2; //zahl3 wird Initialisiert zahl4=zahl3/4; //zahl4 wird Initialisiert zahl1=zahl2*zahl4+zahl3; //zahl1 wird neu Initialisiert printf("Egebnisse!!!!!!!!!!\n\n--------\nZahl1:%i\nZahl2:%i\nZahl3:%i\nZahl4:%i\n\n--------\a",zahl1,zahl2,zahl3,zahl4,zahl1); //zahl1 wird ausgegeben getch(); // Hält das Fenster offen bis zu einer betätigung der Tastatur }
Wäre das ein Fehler?
void main()
Wo ist der Unterschied ?
int main() int void()
Wann und für was ist die return funktion notwendig?
-
- nein
- ja
- das eine ist ein funktionskopf, das andere schwachsinn
- wenn die funktion einen wert zurückgeben soll
-
was habe ich falsch kommentiert?
-
#include<stdio.h> //Bibliothek für den Befehl printf #include<conio.h> //Bibliothek für den Befehl getch()
das sind header-dateien (also auch nur c quelltext), keine bibliotheken
-
#include <stdio.h> //Bibliothek stdio.h wird eingefügt für printf #include <conio.h> //Bibliothek stdio.h wird eingefügt für getch() #define druck printf //bennent printf in druck #define halten getch()//benennt getch() in halten int Hello(void);//Funktion : printf("Hello World") int Key(void);//Funktion : printf("Press any Key") int Halten(void);//Funktion : getch() int main(void) //Hauptprogramm //Hier wird das vorkommen der Funktionen bestimmt { Hello(); Hello(); Key(); Halten(); return 0; } int Hello(void)//Funktion 1 wird zugewiesen { druck("Hello Word\a\n"); } int Key(void)//Funktion 2 wird zugewiesen { druck("Press a key!"); } int Halten(void)//Funktion 3 wird zugewiesen { halten; }
wieso muss ich hier statt int void nehmen? und was bedeuted void überhaupt
-
blablapengpeng schrieb:
#include <stdio.h> //Bibliothek stdio.h wird eingefügt für printf #include <conio.h> //Bibliothek stdio.h wird eingefügt für getch() #define druck printf //bennent printf in druck #define halten getch()//benennt getch() in halten int Hello(void);//Funktion : printf("Hello World") int Key(void);//Funktion : printf("Press any Key") int Halten(void);//Funktion : getch() int main(void) //Hauptprogramm //Hier wird das vorkommen der Funktionen bestimmt { Hello(); Hello(); Key(); Halten(); return 0; } int Hello(void)//Funktion 1 wird zugewiesen { druck("Hello Word\a\n"); } int Key(void)//Funktion 2 wird zugewiesen { druck("Press a key!"); } int Halten(void)//Funktion 3 wird zugewiesen { halten; }
wieso muss ich hier statt int void nehmen? und was bedeuted void überhaupt
Hello(), Key() und Halten() liefern keinen Wert zurück, so dass dort void (=kein Rückgabewert) hin muss.
#define druck printf //bennent printf in druck #define halten getch()//benennt getch() in halten
Kommentar genau umgekehrt, du schreibst druck bzw. halten und deine Entwicklungsumgebung ersetzt dies.
-
was bedeutet zurück geliefert genau
und wo wird hier was zurück geliefert?
#include<stdio.h> //Bibliothek für den Befehl printf #include<conio.h> //Bibliothek für den Befehl getch() int main(void) { int zahl1,zahl2,zahl3,zahl4; //zahl1,2,3,4 werden deklariert zahl1=3*2; //zahl1 wird Initialisiert zahl2=zahl3=zahl1*2; //zahl2 wird Initialisiert zahl3=zahl3*2; //zahl3 wird Initialisiert zahl4=zahl3/4; //zahl4 wird Initialisiert zahl1=zahl2*zahl4+zahl3; //zahl1 wird neu Initialisiert printf("Egebnisse!!!!!!!!!!\n\n--------\nZahl1:%i\nZahl2:%i\nZahl3:%i\nZahl4:%i\n\n--------\a",zahl1,zahl2,zahl3,zahl4,zahl1); //zahl1 wird ausgegeben getch(); // Hält das Fenster offen bis zu einer betätigung der Tastatur }
-
main muss immer int zurück geben! Damit wird an das Betriebssystem signalisiert, ob das Programm erfolgreich war (return 0) oder nicht. In main musst du aber nicht unbedingt explizit ein return am Ende schreiben, dass wird bei main (und nur da) automatisch erledigt.
Wenn du Linux/OSX/Unix benutzt, kannst du das ganz einfach abfragen
$ cat > foo.c int main() { return 100; } $ gcc foo.c $ ./a.out $ echo $? 100
$? ist eine Umgebungsvariable, die den Rückgabewert enthält.
-
blablapengpeng schrieb:
was bedeutet zurück geliefert genau
und wo wird hier was zurück geliefert?
#include<stdio.h> //Bibliothek für den Befehl printf #include<conio.h> //Bibliothek für den Befehl getch() int main(void) { int zahl1,zahl2,zahl3,zahl4; //zahl1,2,3,4 werden deklariert zahl1=3*2; //zahl1 wird Initialisiert zahl2=zahl3=zahl1*2; //zahl2 wird Initialisiert zahl3=zahl3*2; //zahl3 wird Initialisiert zahl4=zahl3/4; //zahl4 wird Initialisiert zahl1=zahl2*zahl4+zahl3; //zahl1 wird neu Initialisiert printf("Egebnisse!!!!!!!!!!\n\n--------\nZahl1:%i\nZahl2:%i\nZahl3:%i\nZahl4:%i\n\n--------\a",zahl1,zahl2,zahl3,zahl4,zahl1); //zahl1 wird ausgegeben getch(); // Hält das Fenster offen bis zu einer betätigung der Tastatur }
Eine Funktion kann einen Wert (int, float, char, ...) zurückliefern, d.h. wenn du die Funktion aufrufst, findet dort etwas (sinnvolles) statt und ein Wert wird an die aufrufende Stelle zurückgegeben.
Beispiel:
int Summe(int a, int b) { return (a+b); } ... ergebnis = Summe(10,20);
Hier werden der Funktion Summe() die beiden Zahlen 10 und 20 übergeben und die Funktion liefert die Summe der beiden zurück.