Error unknown type name для объединия - C (СИ)
Формулировка задачи:
Здравствуйте! Подскажите, пожалуйста, как исправить код. Компилятор выдает ошибку: error: unknown type name 'u', в строке "u ldc";
#include <stdio.h> union u { long double ldb; double db; float fl; char data_f[sizeof(float)]; char data_d[sizeof(double)]; char data_l[sizeof(long double)]; }; int main() { u ldc; unsigned char c; int i, j; char type = ' '; while(type != 'f' && type != 'd' && type != 'l') type = getc(stdin); char key = type; while(type != ' ') type = getc(stdin); if(key == 'l') { type = getc(stdin); while(type != ' ') type = getc(stdin); } float f = 0; double d = 0; long double ld = 0; switch (key) { case 'f': scanf("%f", &f); ldc.fl = f; for (i = sizeof(ldc) - 5; i >= 0; --i) { c = ldc.data_f[i]; for (j = 0; j < 8; ++j) { if (c & (128 >> j)) printf("1"); else printf("0"); if (j == 3) printf(" "); } printf(" "); } break; case 'd': scanf("%lf", &d); ldc.db = d; for (i = sizeof(ldc) - 1; i >= 0; --i) { c = ldc.data_d[i]; for (j = 0; j < 8; ++j) { if (c & (128 >> j)) printf("1"); else printf("0"); if (j == 3) printf(" "); } printf(" "); } break; case 'l': scanf("%Lf", &ld); ldc.ldb = ld; for (i = sizeof(ldc) - 1; i >= 0; --i) { c = ldc.data_l[i]; for (j = 0; j < 8; ++j) { if (c & (128 >> j)) printf("1"); else printf("0"); if (j == 3) printf(" "); } printf(" "); } break; } return 0; }
Решение задачи: «Error unknown type name для объединия»
textual
Листинг программы
struct some { int one; }; ... struct some yes;
Объяснение кода листинга программы
- Структура данных
some
объявлена с полем типа int под именемone
. - Переменная
yes
типа struct some объявлена.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д