hallo,
ich beginne gerade in c und habe eine grundkenntnisse Frage,
wie kann ich eine Wert ausgeben, nur nachdem die For schleife beedet
ist?
int A[5]={1,2,3,4,5};
ich bekomme return schon bei i=0;
int Temp;
for(int i=0;i<3;i++)
{
if (A[i])==9;
{
Temp=A[i];
}
else
{
return 0;
}
}
Anfänger schrieb: > wie kann ich eine Wert ausgeben, nur nachdem die For schleife beedet > ist? Die Ausgabe erst nach der FOR-Schleife reinschreiben... Davon abgesehen ist Dein Beispiel ziemlich Sinnfrei. Im Array A[] ist nirgends eine 9 drin. Daher wird die Schleife genau einmal durchlaufen, der Vergleich if(A[i]==9) // so ist es korrekt geklammert wird also nie erfüllt ein und dann wird im Else-Zweig mit return 0 die Funktion immer beendet. Student.lesen <= Buch.C unn tschuess Bernhard
Die if Abfrage ist etwas seltsam. Das sollte wohl so lauten:
if(A[i]==9)
{
...
}
Anfänger schrieb > int A[5]={1,2,3,4,5}; > ich bekomme return schon bei i=0; > int Temp; > > for(int i=0;i<3;i++) > { > if (A[i])==9; -> hier sitzt die Klammer an der falschen Stelle und das Simikolon darf da auch nicht hin, dazu kann das nie wahr sein, da dein Array den Wert 9 garnicht enthält. Außerdem wird der Wert 5 nie überprüft werden. > { > Temp=A[i]; ob das hier überhaupt ausgeführt wird, wage ich zu bezweifeln. > } > else -> Da deine Bedingung immer falsch ist wird immer 0 zurück gegeben. > { > return 0; > } > } Ein C-Buch oder das www.c-howto.de wären sicher angebracht, da die Syntax sehr fehlerhaft ist. Gruß Jannis
if(A[i]) ist in deinem Fall immer true weil in A[] nur werte über 0 gespeichert sind und du sowieso mit dem Semikolon danach die ganze Verzweigung beendest. Ein Wunder, dass das überhaupt kompiliert. Wenn du prüfen willst ob A[i] gleich 9 ist musst du das so machen:
1 | if(A[i] == 9) |
2 | {
|
3 | Temp = A[i]; |
4 | }
|
Wenn du dann Temp noch ausgeben willst schreibe einfach:
1 | printf("%d", Temp); |
2 | return 0; |
Das else kannst du dann weglassen.
Um den Thread Titel zu vervollständigen wäre noch break zu erwähnen.
1 | int superfunktion() |
2 | {
|
3 | int temp = 0, A[] { 1,2,3,4,5,6,7,8,9 }; |
4 | for(int i(0); i<999; ++i) |
5 | {
|
6 | if(A[i] == 9) |
7 | break; |
8 | temp = i; |
9 | }
|
10 | return temp; |
11 | }
|
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.