F
Folderx
Код:
union strings_and_digits
{
char string1[5];
char string2[10];
int digit1[5];
int digit2[10];
}char_int_array;
char_int_array.string1[0] = '.';
printf выводит: . . 46 46
То есть все нулевые элементы всех массивов поменялись, дальше
Код:
char_int_array.string1[1] = '*';
char_int_array.digit1[1] = 144;
printf выводит: * * 144 144
То есть первые элементы поменялись в соответствии с типами, целые к целым, строковые к строковым, пока всё ровно, дальше
Код:
printf("%s %s\n", char_int_array.string1, char_int_array.string2);
Код:
printf("%d %d %d %d\n\n",
char_int_array.digit1[0],
char_int_array.digit1[1],
char_int_array.digit2[0],
char_int_array.digit2[1]
);
Короче вот эти цифры(числа) 10798, почему они не 46 ?