+ 2
I have a question about structs
What is the output of this code? struct A{ int a; float b; }; struct B{ int b; float a; }; struct C{ A a; B b; }; int main() { C c1={1,2,3,4}; C c2={5,6,7,8}; cout<<c1.b.a+c2.a.b; //Can you tell me this question with reasons? }
2 odpowiedzi
+ 14
#include<iostream>
using namespace std;
struct A {
    int a;
    float b;
};
struct B {
    int b;
    float a;
};
struct C {
    A a; 
    B b;
};
int main ()
{
    // c1 is an instance of C struct.
    // Inside C struct 2 instances are created.
    // One of type A called a and another of
    // type B called b.
    // Type(struct) A and B, each has two variables.
    // One int and another float.
    //
    // As a result, you've got to initialize those ints and floats
    // in order to use each instances .
    // In fact, the corrected version is like this
    C c1 = {1, 2.0f, 3, 4.0f}; // {c1.a.a, c1.a.b, c1.b.b, c1.b.a}
    C c2 = {5, 6.0f, 7, 8.0f}; // {c2.a.a, c2.a.b, c2.b.b, c2.b.a}
    cout << c1.b.a + c2.a.b; // 4.0f + 6.0f = 10.0f
    //Can you tell me this question with reasons?
}
+ 2
Wow, good answer👍, by the way  inserting this "//Can you tell me this question with reasons" into your answer better than your answer. @Babak



