Hi an alle, versuche gerade diese zuerst angenommene leichte Aufgabe zu bewältigen, aber ich nun komme ich absolut nicht weiter. Ich möchte überprüfen ob 2 Arrays identisch sind. Falls ja, soll die Zahl 7 an der 7 Segment Anzeige erscheinen. Falls nein, soll die Zahl 8 an der 7 Segment Anzeige erscheinen. Irgendetwas scheint aber mit der if Bedingung nicht zu stimmen. Denn es wird immer in den If Zweig gesprungen und die 7 angezeigt, egal ob in einem der beiden Arrays eine Zahl ändere oder nicht. Weiß hier jemand von euch weiter? Viele Dank. Die Werte der 7 Segment anzeige stimmen. Habe dies nochmal überprüft für den Fall, dass ich bei 8 und 7 die selben LEDs aktiviert habe. :-) Mein Codebeispiel habe ich angehängt.
schau dich hier mal um. Beitrag "Arrays Vergleichen"
Hi, danke für den Link. Habe es nun mit 2 Varianten daraus versucht, aber beide haben den gleichen Effekt. Es wird immer nur die Zahl 7 auf der 7 Segment Anzeige angezeigt. Selbst wenn ich eine Zahl im Array ändere. Anbei meine Quelldateien. Was mach ich noch falsch?
Gast
#2756385
for (i=0;i<10;i++){
dein array ist aber nur 5 elemente lang!
Und es vergleich effektiv nur die letzte Zahl...
Gast
#2756395
aber eigentlich sollte die memcmp sache richtig sein. Da sehen ich keinen Fehler. Sicher das deine Ausgabe für die anzeige richtig gehen? auf dem PC geht dieser code:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
Könnte gehen:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
Danke für Eure Antworten. Der "Fehler" lag in der Deklaration des Arrays. Wobei ich nicht verstehe warum. Zuerst hatte ich dem Array seine Werte in geschwungenen Klammern zugewiesen.(siehe vorherigen Quellcode) Da klappte es nicht. Erst als ich die Werte Zeile für Zeile zuwies, waren die Werte auch wirklich im Array. Hätte nämlich versucht die Werte des Arrays in einer for Schleife auszugeben und da kam nichts. Nun gehen alle Varianten die ich probiert habe. Für alle die damit auch Probleme haben, hänge ich meinen nun funktionierenden Code an. Mich würde aber abschließend noch interessieren, warum das nur mit einer meiner Varianten auf meinem MCU (atmega168) funktioniert? Hat hier jemand eine Idee? Vielleicht habe ich was falsch gemacht. Möchte nächstes Mal nicht wieder in die selbe Falle tappen. Danke für Eure Unterstützung.
C per try & error.... hat was.
El Nino schrieb: > Zuerst hatte ich dem Array seine Werte in geschwungenen Klammern > zugewiesen.(siehe vorherigen Quellcode) Da klappte es nicht El Nino schrieb: > Mich würde aber abschließend noch interessieren, warum das nur mit einer > meiner Varianten auf meinem MCU (atmega168) funktioniert? Hat hier > jemand eine Idee? Vielleicht habe ich was falsch gemacht. Möchte > nächstes Mal nicht wieder in die selbe Falle tappen. Eigenes Makefile?
Gast
#2756612
cyblord ---- schrieb: > C per try & error.... hat was. "Lernen" nennt man das. Es wäre natürlich zu schön, wenn der Compiler zweckdienliche Hinweise von sich geben würde/könnte.
El Nino schrieb: > Zuerst hatte ich dem Array seine Werte in geschwungenen Klammern > zugewiesen.(siehe vorherigen Quellcode) Da klappte es nicht. Erst als > ich die Werte Zeile für Zeile zuwies, waren die Werte auch wirklich im > Array. Versuche es mal so:
1 | |
Wenn du Arrays so intilisierst, legt der Compiler die Länge des Arrays selbst fest.
observer schrieb: > cyblord ---- schrieb: >> C per try & error.... hat was. > > "Lernen" nennt man das. Höchstens das er lernt, das er ein C-Buch braucht.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.