for
-
kann mir wer sagen was hier nicht stimmt ?
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i=1; for (i = 1; i<5; i++ ) { int LA; scanf("%d", LA); if(LA=2) { printf("BingBong"); system("pause"); } system("pause"); } }
-
Du musst scanf einen Zeiger übergeben. Also nicht den Wert der Variablen sondern die Adresse.
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i; for (i = 1; i < 5; i++) { int LA; scanf("%d", &LA); if (LA == 2) { printf("BingBong"); system("pause"); } system("pause"); } }
-
Alles?
Nicht eingerückt, Schleife fängt bei 1 statt "standardmäßig" bei 0 an, keine Adressübergabe bei scanf, Zuweisung in der if Anweisung statt eines Vergleiches.
-
Zu spät.
(1 sek ^^)
Aber die Zuweisung hab ich übersehen. Korrigiert.
-
Danke
-
Du könntest main auch ohne Argumente definieren: int main() { /* ... */ }
Wie feigling angemerkt hat beginnt man normalerweise mit der 0 beim Zählen. Du musst dir also bewusst sein dass deine Schleife nur 4 mal durchlaufen wirt. Sollte sie 5 mal durchlaufen werden..
for (int i = 0; i < 5; i++) { /* 5 mal */ } // oder for (int i = 1; i <= 5; i++) { /* 5 mal */ }
Ob <stdlib.h> nötig ist weiß ich nicht mit Sicherheit, da ich auch nicht weiß ob system() dort definiert ist.
Edit:
(Ich hoffe die Mods bekommen nicht bei jedem edit ne Mail...)Und merk dir:
einfaches '=' bedeutet Zuweisung. In deinem Code liefert LA = 2 den Wert 2 zurück. Und da if(x) für alle x != 0 wahr ist... meldet der Compiler auch keinen Fehler sodass der Block immer ausgeführt wird was offensichtlich nicht deine Absicht ist.