Charakter Array

Gast #100309
Hallo,
ich erhalte vom Compiler die Warnung:
"warning: array subscript has type char"
für ein initialisiertes char Array "char AnzBuffer[0]"
Ich kann die Warnung nicht nachvollziehen.
Compiler: WINAVR 3.3.2
Prozessor: ATMega8

Vielen Dank für die Antworten
Gast #100310
char AnzBuffer[20] = {...};
char c;
char i = 3;
int j = 4;

c = AnzBuffer[i];       Warning
c = AnzBuffer[(int)i];  OK
c = AnzBuffer[j];       OK

Oder im Klartext:  Das Array subscript muß vom Typ integer sein.
Gast #100312
Hi

oder vom typ "unsigned char". Generell sollte man zum Zugriff auf
Arrays keine Datentypen verwenden die auch negative Wert annehmen
können.

Matthias
Gast #100313
Warum nicht?

Konstrukte wie

char *cp, buf[N];

for (cp = buf; *cp != 0; cp++) {
  ...
  if (*cp == 'x' && cp > buf) {
    *cp = 0;
    cp[-1] = 'y';
    break;
  }
}

sind durchaus akzeptabel.
Gast #100314
Hi

#include <stdio.h>
int l;int main(int o,char **O,
int I){char c,*D=O[1];if(o>0){
for(l=0;D[l              ];D[l
++]-=10){D   [l++]-=120;D[l]-=
110;while   (!main(0,O,l))D[l]
+=   20;   putchar((D[l]+1032)
/20   )   ;}putchar(10);}else{
c=o+     (D[I]+82)%10-(I>l/2)*
(D[I-l+I]+72)/10-9;D[I]+=I<0?0
:!(o=main(c/10,O,I-1))*((c+999
)%10-(D[I]+92)%10);}return o;}

ist auch durchaus aktzektabel :-)
Weitere aktzektable Programme gibts hier http://www.de.ioccc.org

SCNR

Matthias

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 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.