C Interview Questions And Answers( Objective and Subjective)(
NEW )
C Interview
Questions And Answers
C Objective
Interview Questions And Answers(10)
C Subjective
Interview Questions And Answers(100)
C
syntax, semantics and simple programming questions(61)
C Aptitude Questions(179)
Objectives
C Aptitude Questions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 30
C Aptitude Questions
Note :All the programs are
tested under Turbo C/C++ compilers.
It is assumed that,
Programs run under DOS
environment,
The underlying machine is an
x86 system,
Program is compiled using
Turbo C/C++ compiler.
The program output may depend on
the information based on this assumptions (for example sizeof(int)
== 2 may be assumed).
Predict the output or error(s) for
the following:
Questions 1.
void main()
{
int const * p=5;
printf("%d",++(*p));
}
Answer:Compiler
error: Cannot modify a constant value.
Explanation:
p is a pointer to a "constant
integer". But we tried to change the value of the "constant integer".
Questions 2.
main()
{
char s[ ]="man";
int i;
for(i=0;s[ i ];i++)
printf("\n%c%c%c%c",s[ i
],*(s+i),*(i+s),i[s]);
}
Answer:
mmmm
aaaa
nnnn
Explanation:
s[i], *(i+s), *(s+i), i[s] are all
different ways of expressing the same idea. Generally array name is the base
address for that array. Here s is the base address. i is the index
number/displacement from the base address. So, indirecting it with * is same as
s[i]. i[s] may be surprising. But in the case of C it is same as s[i].
Questions 3.
main()
{
float me = 1.1;
double you = 1.1;
if(me==you)
printf("I love U");
else
printf("I hate U");
}
Answer:
I hate U
Explanation:
For floating point numbers (float,
double, long double) the values cannot be predicted exactly. Depending on the
number of bytes, the precession with of the value represented varies. Float
takes 4 bytes and long double takes 10 bytes. So float stores 0.9 with less
precision than long double.
Rule of Thumb:
Never compare or at-least be
cautious when using floating point numbers with relational operators (== , >, <,
<=, >=,!= ) .
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 30
|