This shows you the differences between two versions of the page.
programare-cc:breviar-9 [2020/11/27 23:32] viorel.mocanu created |
programare-cc:breviar-9 [2021/12/09 02:49] (current) viorel.mocanu [Uniuni] |
||
---|---|---|---|
Line 54: | Line 54: | ||
int main() | int main() | ||
{ | { | ||
- | int a, b, rez; | + | int a, b, rez, op; |
- | enum operatii { adunare, scadere, inmultire } op; | + | enum operatii { adunare, scadere, inmultire }; |
- | scanf("%d%d%d", &a, &b, &op); | + | scanf("%d %d %d", &a, &b, &op); |
switch (op) { | switch (op) { | ||
case adunare: rez = a + b; break; | case adunare: rez = a + b; break; | ||
Line 90: | Line 90: | ||
<code c> | <code c> | ||
#include <stdio.h> | #include <stdio.h> | ||
- | + | | |
- | int main() | + | union Data |
- | { | + | { |
- | union data | + | char a; |
- | { | + | int x; |
- | char a; | + | float f; |
- | int x; | + | }; |
- | float f; | + | |
- | } myData; | + | void print_union(union Data data) { |
- | + | printf("------UNION------\n"); | |
- | myData.a = 'A'; | + | printf("data.a=%c\n", data.a); |
- | printf("Here is the Data:\n%c\n%i\n%.3f\n", myData.a, myData.x, myData.f ); | + | printf("data.x=%d\n", data.x); |
- | + | printf("data.f=%f\n", data.f); | |
- | myData.x = 42; | + | } |
- | printf("Here is the Data:\n%c\n%i\n%.3f\n", myData.a, myData.x, myData.f ); | + | |
- | + | int main() { | |
- | myData.f = 101.357; | + | |
- | printf("Here is the Data:\n%c\n%i\n%.3f\n", myData.a, myData.x, myData.f ); | + | union Data data; |
- | + | ||
+ | data.a = 'A'; | ||
+ | print_union(data); | ||
+ | |||
+ | data.x = 42; | ||
+ | print_union(data); | ||
+ | |||
+ | data.f = 101.357; | ||
+ | print_union(data); | ||
return 0; | return 0; | ||
} | } |