What happens if we run the following code in both C and C++?
#include <stdio.h>
struct STRUCT
{
int a = 5;
int func()
{
printf(“%d\n”, a);
}
};
int main()
{
struct STRUCT s;
s.func();
return 0;
}
a) The program runs fine and both prints output “HELLO THIS IS STRUCTURE”
b) The program gives an error in case of C but runs perfectly in case of C++
c) The program gives an error in case of C++ but runs perfectly in case of C
d) The program gives an error in case of both C and C++
Answer: b
Explanation: As C does not allows to initialize any member inside the structure, therefore, the program gives error whereas in case of C++ this is allowed therefore the program does not give any error.
Related Posts
What is the other name of the macro?
What will be the output of the following C++ code?
#include <iostream>
using namespace std;
#define MAX 10
int main()
{
int num;
num = ++MAX;
cout << num;
return 0;
}What will be the output of the following C++ code?
#include <iostream>
using namespace std;
#define PR(id) cout << “The value of ” #id ” is “<< id
int main()
{
int i = 10;
PR(i);
return 0;
}What will be the output of the following C++ code?
#include <iostream>
using namespace std;
#define SquareOf(x) x * x
int main()
{
int x;
cout << SquareOf(x + 4);
return 0;
}What is the mandatory preprocessor directive for c++?
How many types of macros are there in c++?
Which symbol is used to declare the preprocessor directives?
Join The Discussion