Stimmt etwas mit dem Kompiler nicht?
-
#include <stdio.h> int main(){ bool matrix[32][6] = {0}; for(int i=0; i<32; i++){ matrix[0][i] = 1; } for(int i=0;i<6;i++){ for(int x=0;x<32;x++){ printf("%s", matrix[i][x] ? "1" : "0"); } printf("\n"); } }
Ziel ist es die Oberste Reihe des Arrays mit 1en zu befüllen. Warum bekomme ich dann so ein Ergebniss? Stimmt etwas mit dem Kompiler nicht?
Ergebniss:
11111111111111111111111111111111 11111111111111111111111111000000 11111111111111111111000000000000 11111111111111000000000000000000 11111111000000000000000000000000 11000000000000000000000000000000
-
Mit deinem Programm stimmt was nicht. Du hast ein Array, welches 32 arrays von jeweils 6 Elementen fassen kann. allerdings greifst du auf das erste der 32 elemente zu und setz darin 32 werte, obwohl du nur 6 setzen dürftest.
Unten bei der ausgabe genauso. Schau doch mal auf deine Definition...
-
Deine Array-Indices sind vertauscht - Zeile 4 passt nicht zu Zeile 7 bzw. zu Zeile 17.