C Programming Questions and Answers
What will be the output of the program?
# define P printf("%d\n", -1^~0);#define M(P) int main()\
{\
P\
return0;\
}
M(P)
Option B
What will be the output of the program ?
#include < stdio . h >int main()
{
int i=32, j=0x20, k, l, m;
k=i|j;
l=i&j;
m=k^l;
printf("%d, %d, %d, %d, %d\n", i, j, k, l, m);
return0;
}
Option C
What will be the output of the program?
#include < stdio . h >int main()
{
printf("%d %d\n", 32<<1, 32<<0);
printf("%d %d\n", 32<<-1, 32<<-0);
printf("%d %d\n", 32>>1, 32>>0);
printf("%d %d\n", 32>>-1, 32>>-0);
return0;
}
Option B
What will be the output of the program?
#include < stdio . h >int main()
{
unsignedint res;
res = (64 >>(2+1-2)) & (~(1<<2));
printf("%d\n", res);
return0;
}
Option A
What will be the output of the program ?
#include < stdio . h >int main()
{
int i=4, j=8;
printf("%d, %d, %d\n", i|j&j|i, i|j&&j|i, i^j);
return0;
}
Option C
Which header file should be included to use functions like malloc() and calloc()?
Option B
What will be the output of the program?
#include < stdio . h >#include < stdlib . h >int main()
{
int *p;
p = (int *) malloc (20); /* Assume p has address of 1314 */free(p);
printf("%u", p);
return0;
}
Option A
What will be the output of the program (16-bit platform)?
#include < stdio . h >#include < stdlib . h >int main()
{
int *p;
p = (int *) malloc (20);
printf("%d\n", sizeof (p));
free(p);
return0;
}
Option B
What will be the output of the program?
#include < stdio . h >#includeint main()
{
char *s;
char *fun();
s = fun();
printf("%s\n", s);
return0;
}
char *fun()
{
char buffer[30];
strcpy(buffer, "RAM");
return (buffer);
}
Option B
Explanation :The output is unpredictable since buffer is an auto array and will die when the control go back to main. Thus s will be pointing to an array , which not exists.
Assume integer is 2 bytes wide. What will be the output of the following code?
#include < stdio . h >#include < stdlib . h >#define MAXROW 3#define MAXCOL 4int main()
{
int (*p)[MAXCOL];
p = (int (*) [MAXCOL]) malloc( MAXROW *sizeof (*p));
printf("%d, %d\n", sizeof(p), sizeof(*p));
return0;
}
Option A