MCQs
Total Questions : 35
| Page 2 of 4 pages
Answer: Option D. -> No error
Answer: Option C. -> Error: cannot initialize more than one union member.
Question 13.
#include<stdio.h>
int main()
{
struct s1
{
char *z;
int i;
struct s1 *p;
};
static struct s1 a[] = {{"Nagpur", 1, a+1} , {"Chennai", 2, a+2} ,
{"Bangalore", 3, a} };
struct s1 *ptr = a;
printf("%s,", ++(ptr->z));
printf(" %s,", a[(++ptr)->i].z);
printf(" %s", a[--(ptr->p->i)].z);
return 0;
}
What will be the output of the program?
#include<stdio.h>
int main()
{
struct s1
{
char *z;
int i;
struct s1 *p;
};
static struct s1 a[] = {{"Nagpur", 1, a+1} , {"Chennai", 2, a+2} ,
{"Bangalore", 3, a} };
struct s1 *ptr = a;
printf("%s,", ++(ptr->z));
printf(" %s,", a[(++ptr)->i].z);
printf(" %s", a[--(ptr->p->i)].z);
return 0;
}
Answer: Option D. -> agpur, Bangalore, Bangalore
Answer: Option D. -> 2, 4, 4
Answer: Option B. -> 2, 4, 4
Answer: Option B. -> 4, 2, 2
Answer: Option D. -> 4, 12
Answer: Option A. -> 4, 4, 4
Answer: Option B. -> 8
Answer: Option C. -> 4294967295, 4294967295
The system will treat the negative numbers with 2's complement method.
For 'long int' system will occupy 4 bytes (32 bits).
Therefore,
Binary 1 : 00000000 00000000 00000000 00000001
To represent -1, system uses the 2's complement value of 1. Add 1 to the 1's complement result to obtain 2's complement of 1.
So, First take 1's complement of binary 1 (change all 0s to 1s and all 1s to 0s)
1's complement of Binary 1:
11111111 11111111 11111111 11111110
2's complement of Binary 1: (Add 1 with the above result)
11111111 11111111 11111111 11111111
In HexaDecimal
11111111 11111111 11111111 11111111 = FFFF FFFF FFFF FFFF
In Unsigned Integer
11111111 11111111 11111111 11111111 = 4294967295.