anfaengerfrage^^
-
#include <stdio.h> int Summe (short); void main (void) { printf("Summenberechnung\n"); printf("Bitte geben Sie eine Zahl ein: "); scanf("%i", &a); Summe(a); printf("\nDas Ergebnis lautet: %i", b); return; } int Summe (short a) { short c,b; for(c=0;c++;c==a) { b += b + 1; return(b); }
ich hab dieses programm geschrieben und bekomme bei der kompilierung (lcc win32) immer die fehlermeldung fuer die zeile wo nur die klammer auf ist direkt nach der zaehlschleife: Statement has no effect.
PS: das programm soll die summe aller ganzen zahlen von 1-a berechnen
z.B: a=5 b=1+2+3+4+5=15is fuer die schule und muss daher mit zaehlschleife gem8 werden
waere nett wenn mir jmd weiterhelfen koennte.
-
for(c=0; c!=a; ++c) { ... }
Achja und das return hinter die Schleife.
Gruß
-
da ist auch noch der wurm drin:
Summe(a); printf("\nDas Ergebnis lautet: %i", b);
du mußt der rückgabewet von Summe(a) ausgeben. b ist nur eine lokale variable in der funktion Summe()
-
so hab mal gem8 was ihr gesagt habt aber jetz gibts nen andren fehler
for(c=0;c++;c==a){b += b + 1;}
dazu sagt er statement has no effect *lol*
-
harakiri schrieb:
so hab mal gem8 was ihr gesagt habt aber jetz gibts nen andren fehler
for(c=0;c++;c==a){b += b + 1;}
dazu sagt er statement has no effect *lol*
das statement, das keinen effekt hat ist c==a. du hast die for-parameter in der falschen reihenfolge! richtig heißt es for(c=0;c!=a;c++). in b+=b+1 ist übrigens auch noch der wurm drin
-
for(c=0;c!=a;c++){b += b + 1;}
possible usage before definition lol?
und was ich an dem b+=b+1 aendern soll weis ich ned
-
@harakiri
Dein Compiler sollte auch noch bei void main() eine Warnung oder eigentlich sogar Fehlermeldung ausgeben.Die Funktion main() sollte immer einen int zurückgeben. (Beim return am Schluss in main() dann nicht vergessen auch was zurückzugeben; vorzugsweise 0, wenn kein Fehler aufgetreten ist.)
-
#include <stdio.h> #include <conio.h> int Summe (short); int main () { int a; printf("Summenberechnung\n"); printf("Bitte geben Sie eine Zahl ein: "); scanf("%i", &a); printf("\nDas Ergebnis lautet: %i", Summe(a)); getch(); return 0; } int Summe (short a) { short b=0, c; for(c=0;c!=a;c++) { b += c + 1; } return(b); }
Vergleiche es mit deinem Code und überlege dir was du falsch gemacht hast