Cześć.
Mam do zrobienia ćwiczenie, w którym muszę wypisać zawartość takich oto tablic:
Kompilator zwraca warningi o braku klamer w tablicach A, C i D.
int A[2][4]={1,2,3,4,5,6};
int B[][4]={{1,2},{3,4},{5,6,7}};
int C[][4]={1,2,{3},{4},5,6};
int D[][4]={{1},{2,3,4},5,6}
Nie wiem czy dobrze rozpoznałem rozmiary, ale zrobiłem tak:
#include <stdio.h>
int main(void){
// Zad. nr 1
int A[2][4]={1,2,3,4,5,6};
int B[][4]={{1,2},{3,4},{5,6,7}};
int C[][4]={1,2,{3},{4},5,6};
int D[][4]={{1},{2,3,4},5,6};
int i,j;
printf("A[2][4]={1,2,3,4,5,6};\n");
for(i=0;i<2;i++){
printf("Rzad:%d ",i+1);
for(j=0;j<4;j++)
printf("%d",A[i][j]);
printf("\n");
}
printf("\nB[][4]={{1,2},{3,4},{5,6,7}};\n");
for(i=0;i<3;i++){
printf("Rzad:%d ",i+1);
for(j=0;j<4;j++)
printf("%d",B[i][j]);
printf("\n");
}
printf("\nC[][4]={1,2,{3},{4},5,6};\n");
for(i=0;i<2;i++){
printf("Rzad:%d ",i+1);
for(j=0;j<4;j++)
printf("%d",C[i][j]);
printf("\n");
}
printf("\nD[][4]={{1},{2,3,4},5,6};\n");
for(i=0;i<3;i++){
printf("Rzad:%d ",i+1);
for(j=0;j<4;j++)
printf("%d",D[i][j]);
printf("\n");
}
printf("\n");
return 0;
}
Wartość 'j' zawsze musi być mniejsza niż 4 ale czy dobrze rozpoznałem 'i'?
Pozdrawiam
Grzesiek
grzesiek51114sizeof(A)/sizeof(*A)
) liczy kompilator!grzesiek51114sizeof(typ)
(koniecznie z małymi literami), po drugie zależy raczej od platformy i/lub ustawień kompilatora. Bo może być ten sam kompilator działający na kilku platformach np gcc, ustawienia kompilatora mogą powodować zwiększenie "dziur" w strukturach.grzesiek51114