Fehlermeldung AVR Studio 4

OP #2616904
Hallo Freunde
habe eine Fehlermeldung mit AVR Studio 4, die ich nicht verstehe.
Fehlermeldung:
Warning: left-hand operand of comma expression has no effekt

Die Meldiung kommt bei dem folgenden Schnipzel:
for (i=4,j=5;i>=2,j<=8;i--,j++)   <<< In dieser Zeile
{
leds_set_status(0,i);
leds_set_status(0,j);
delay(150);
}
 Sobald ich nur i oder j verwende, gibt es keine Probleme. Es wird eine 
Warnung angezeigt aber das Prg läuft trotzdem. Habe auch die Vorzeichen 
geändert
achim
#2616962
Die Warnung bezieht sich auf diesen Teil:
1
i>=2,j<=8
Und die Aussage der Warnung ist schlicht wortwörtlich zu nehmen: die 
linke Seite vom Komma hat keinen Effekt, also keinerlei Einfluss auf die 
Programmausführung. Am besten nimmst du dir dein C-Buch und schlägst mal 
die genaue Bedeutung des Komma-Operators nach. Und danach die Bedeutung 
von &&.
OP #2617008
Hallo
das habe ich getan. Der Aufbau stammt genau aus einem C Buch von Jürgen 
Wolf. Habe es noch mal nachgelesen, es steht auf Seite 165 uf.Es können 
verschiedene Eingaben gemacht werden, die durch ein Komma getrennt sind. 
Habe ich da was falsch gelesen?
Gast #2617017
Achim Seeger schrieb:
> Hallo
> das habe ich getan. Der Aufbau stammt genau aus einem C Buch von Jürgen
> Wolf.

kann ich mir nicht vorstellen. so eine for schleife schreibt man in der 
Praxis nicht. Warum sollte man 2 Variablen verwenden wenn auch eine 
Reicht?
1
for (i=0; i<2; ++i )   
2
{
3
leds_set_status(0, 4-i);
4
leds_set_status(0, 5+i);
5
delay(150);
6
}
OP #2617298
Hallo Peter
danke für deine Antwort.Dein Vorschlag ist klasse. Habe ihn so 
umgesetzt. Zu Anfang lief es leider verkehrt herum. Konnte ich ändern, 
ohne Problem, auch die Zuordnung bei mir. Habe den Code mal 
reingestellt.

for (i=2;i<=4;i++)
{
leds_set_status(1,i);
leds_set_status(1,9-i);
delay(150);
}
for (i=4;i>=2;i--)
{
leds_set_status(0,i);
leds_set_status(0,9-i);
delay(150);
}

Das mit C lernen ist gut, bin auch dabei. Doch wenn in dem besagten Buch 
steht

10. Möglichkeit
for(n1=1,n2=2;n1<=10;n1++)

dann nehme ich an das es geht. In einem anderen Tutorial steht auch

for (i=1,j=100;i<=100,j>=1;i++,j--)

Wer hat den nun recht. Meine Fehlermeldung oder die Literatur?
achim
#2617368
Achim Seeger schrieb:
> Doch wenn in dem besagten Buch
> steht
>
> 10. Möglichkeit
> for(n1=1,n2=2;n1<=10;n1++)
>
> dann nehme ich an das es geht.

Da steht ja aber auch kein Komma im mittleren Teil (dem Bedingungs-Teil) 
der for-Schleife.

Achim Seeger schrieb:
> In einem anderen Tutorial steht auch
>
> for (i=1,j=100;i<=100,j>=1;i++,j--)

Das Tutorial ist in diesem Punkt schlicht falsch.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.