C 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:

1. void main()
{
int const * p=5;
printf("%d",++(*p));
}

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]);
}

3. main()
{
float me = 1.1;
double you = 1.1;
if(me==you)
printf("I love U");
else
printf("I hate U");
}

4. main()
{
static int var = 5;
printf("%d ",var--);
if(var)
main();
}

5. main()
{
int c[ ]={2.8,3.4,4,6.7,5};
int j,*p=c,*q=c;
for(j=0;j<5;j++) {
printf(" %d ",*c);
++q; }
for(j=0;j<5;j++){
printf(" %d ",*p);
++p; }
}

6. main()
{
extern int i;
i=20;
printf("%d",i);
}


7. main()
{
int i=-1,j=-1,k=0,l=2,m;
m=i++&&j++&&k++||l++;
printf("%d %d %d %d %d",i,j,k,l,m);
}
8. main()
{
char *p;
printf("%d %d ",sizeof(*p),sizeof(p));
}

9. main()
{
int i=3;
switch(i)
{
default:printf("zero");
case 1: printf("one");
break;
case 2:printf("two");
break;
case 3: printf("three");
break;
}
}

10. main()
{
printf("%x",-1<<4);
}

11. main()
{
char string[]="Hello World";
display(string);
}
void display(char *string)
{
printf("%s",string);
}

12. main()
{
int c=- -2;
printf("c=%d",c);
}

13. #define int char
main()
{
int i=65;
printf("sizeof(i)=%d",sizeof(i));
}

14. main()
{
int i=10;
i=!i>14;
Printf ("i=%d",i);
}

15. #include<stdio.h>
main()
{
char s[]={'a','b','c','\n','c','\0'};
char *p,*str,*str1;
p=&s[3];
str=p;
str1=s;
printf("%d",++*p + ++*str1-32);
}

16. #include<stdio.h>
main()
{
int a[2][2][2] = { {10,2,3,4}, {5,6,7,8} };
int *p,*q;
p=&a[2][2][2];
*q=***a;
printf("%d----%d",*p,*q);
}

17. #include<stdio.h>
main()
{
struct xx
{
int x=3;
char name[]="hello";
};
struct xx *s;
printf("%d",s->x);
printf("%s",s->name);
}

18. #include<stdio.h>
main()
{
struct xx
{
int x;
struct yy
{
char s;
struct xx *p;
};
struct yy *q;
};
}

19. main()
{
printf("\nab");
printf("\bsi");
printf("\rha");
}

20. main()
{
int i=5;
printf("%d%d%d%d%d%d",i++,i--,++i,--i,i);
}

21. #define square(x) x*x
main()
{
int i;
i = 64/square(4);
printf("%d",i);
}

22. main()
{
char *p="hai friends",*p1;
p1=p;
while(*p!='\0') ++*p++;
printf("%s %s",p,p1);
}

23. #include <stdio.h>
#define a 10
main()
{
#define a 50
printf("%d",a);
}

24. #define clrscr() 100
main()
{
clrscr();
printf("%d\n",clrscr());
}

25. main()
{
printf("%p",main);
}

27) main()
{
clrscr();
}
clrscr();


28) enum colors {BLACK,BLUE,GREEN}
main()
{

printf("%d..%d..%d",BLACK,BLUE,GREEN);

return(1);
}
29) void main()
{
char far *farther,*farthest;

printf("%d..%d",sizeof(farther),sizeof(farthest));

}

30) main()
{
int i=400,j=300;
printf("%d..%d");
}

31) main()
{
char *p;
p="Hello";
printf("%c\n",*&*p);
}

32) main()
{
int i=1;
while (i<=5)
{
printf("%d",i);
if (i>2)
goto here;
i++;
}
}
fun()
{
here:
printf("PP");
}

33) main()
{
static char
names[5][20]={"pascal","ada","cobol","fortran","perl"};
int i;
char *t;
t=names[3];
names[3]=names[4];
names[4]=t;
for (i=0;i<=4;i++)
printf("%s",names[i]);
}

34) void main()
{
int i=5;
printf("%d",i++ + ++i);
}

35) void main()
{
int i=5;
printf("%d",i+++++i);
}

36) #include<stdio.h>
main()
{
int i=1,j=2;
switch(i)
{
case 1: printf("GOOD");
break;
case j: printf("BAD");
break;
}
}

37) main()
{
int i;
printf("%d",scanf("%d",&i)); // value 10 is given as input here
}

38) #define f(g,g2) g##g2
main()
{
int var12=100;
printf("%d",f(var,12));
}

39) main()
{
int i=0;

for(;i++;printf("%d",i)) ;
printf("%d",i);
}

40) #include<stdio.h>
main()
{
char s[]={'a','b','c','\n','c','\0'};
char *p,*str,*str1;
p=&s[3];
str=p;
str1=s;
printf("%d",++*p + ++*str1-32);
}

41) #include<stdio.h>
main()
{
struct xx
{
int x=3;
char name[]="hello";
};
struct xx *s=malloc(sizeof(struct xx));
printf("%d",s->x);
printf("%s",s->name);
}

42) #include<stdio.h>
main()
{
struct xx
{
int x;
struct yy
{
char s;
struct xx *p;
};
struct yy *q;
};
}

43) main()
{
extern int i;
i=20;
printf("%d",sizeof(i));
}

44) main()
{
printf("%d", out);
}
int out=100;

45) main()
{
extern out;
printf("%d", out);
}
int out=100;

46) main()
{
show();
}
void show()
{
printf("I'm the greatest");
}

47) main( )
{
int a[2][3][2] = {{{2,4},{7,8},{3,4}},{{2,2},{2,3},{3,4}}};
printf(“%u %u %u %d \n”,a,*a,**a,***a);
printf(“%u %u %u %d \n”,a+1,*a+1,**a+1,***a+1);
}

48) main( )
{
int a[ ] = {10,20,30,40,50},j,*p;
for(j=0; j<5; j++)
{
printf(“%d” ,*a);
a++;
}
p = a;
for(j=0; j<5; j++)
{
printf(“%d ” ,*p);
p++;
}
}

49) main( )
{
static int a[ ] = {0,1,2,3,4};
int *p[ ] = {a,a+1,a+2,a+3,a+4};
int **ptr = p;
ptr++;
printf(“\n %d %d %d”, ptr-p, *ptr-a, **ptr);
*ptr++;
printf(“\n %d %d %d”, ptr-p, *ptr-a, **ptr);
*++ptr;
printf(“\n %d %d %d”, ptr-p, *ptr-a, **ptr);
++*ptr;
printf(“\n %d %d %d”, ptr-p, *ptr-a, **ptr);
}

50) main( )
{
char *q;
int j;
for (j=0; j<3; j++) scanf(“%s” ,(q+j));
for (j=0; j<3; j++) printf(“%c” ,*(q+j));
for (j=0; j<3; j++) printf(“%s” ,(q+j));
}

51) main( )
{
void *vp;
char ch = ‘g’, *cp = “goofy”;
int j = 20;
vp = &ch;
printf(“%c”, *(char *)vp);
vp = &j;
printf(“%d”,*(int *)vp);
vp = cp;
printf(“%s”,(char *)vp + 3);
}

52) main ( )
{
static char *s[ ] = {“black”, “white”, “yellow”, “violet”};
char **ptr[ ] = {s+3, s+2, s+1, s}, ***p;
p = ptr;
**++p;
printf(“%s”,*--*++p + 3);
}

53) main()
{
int i, n;
char *x = “girl”;
n = strlen(x);
*x = x[n];
for(i=0; i<n; ++i)
{
printf(“%s\n”,x);
x++;
}
}

54) int i,j;
for(i=0;i<=10;i++)
{
j+=5;
assert(i<5);
}

55) main()
{
int i=-1;
+i;
printf("i = %d, +i = %d \n",i,+i);
}

56) What are the files which are automatically opened when a
C file is executed?

57) what will be the position of the file marker?
a: fseek(ptr,0,SEEK_SET);
b: fseek(ptr,0,SEEK_CUR);

58) main()
{
char name[10],s[12];
scanf(" \"%[^\"]\"",s);
}
How scanf will execute?

59) What is the problem with the following code segment?
while ((fgets(receiving array,50,file_ptr)) != EOF)
;

60) main()
{
main();
}

61) main()
{
char *cptr,c;
void *vptr,v;
c=10; v=0;
cptr=&c; vptr=&v;
printf("%c%v",c,v);
}

62) main()
{
char *str1="abcd";
char str2[]="abcd";
printf("%d %d %d",sizeof(str1),sizeof(str2),sizeof("abcd"));
}

63) main()
{
char not;
not=!2;
printf("%d",not);
}

64) #define FALSE -1
#define TRUE 1
#define NULL 0
main() {
if(NULL)
puts("NULL");
else if(FALSE)
puts("TRUE");
else
puts("FALSE");
}

65) main()
{
int k=1;
printf("%d==1 is ""%s",k,k==1?"TRUE":"FALSE");
}

66) main()
{
int y;
scanf("%d",&y); // input given is 2000
if( (y%4==0 && y%100 != 0) || y%100 == 0 )
printf("%d is a leap year");
else
printf("%d is not a leap year");
}

67) #define max 5
#define int arr1[max]
main()
{
typedef char arr2[max];
arr1 list={0,1,2,3,4};
arr2 name="name";
printf("%d %s",list[0],name);
}

68) int i=10;
main()
{
extern int i;
{
int i=20;
{
const volatile unsigned i=30;
printf("%d",i);
}
printf("%d",i);
}
printf("%d",i);
}

69) main()
{
int *j;
{
int i=10;
j=&i;
}
printf("%d",*j);
}

70) main()
{
int i=-1;
-i;
printf("i = %d, -i = %d \n",i,-i);
}

71) #include<stdio.h>
main()
{
const int i=4;
float j;
j = ++i;
printf("%d %f", i,++j);
}

72) #include<stdio.h>
main()
{
int a[2][2][2] = { {10,2,3,4}, {5,6,7,8} };
int *p,*q;
p=&a[2][2][2];
*q=***a;
printf("%d..%d",*p,*q);
}

73) #include<stdio.h>
main()
{
register i=5;
char j[]= "hello";
printf("%s %d",j,i);
}

74) main()
{
int i=5,j=6,z;
printf("%d",i+++j);
}
76) struct aaa{
struct aaa *prev;
int i;
struct aaa *next;
};
main()
{
struct aaa abc,def,ghi,jkl;
int x=100;
abc.i=0;abc.prev=&jkl;
abc.next=&def;
def.i=1;def.prev=&abc;def.next=&ghi;
ghi.i=2;ghi.prev=&def;
ghi.next=&jkl;
jkl.i=3;jkl.prev=&ghi;jkl.next=&abc;
x=abc.next->next->prev->next->i;
printf("%d",x);
}

77) struct point
{
int x;
int y;
};
struct point origin,*pp;
main()
{
pp=&origin;
printf("origin is(%d%d)\n",(*pp).x,(*pp).y);
printf("origin is (%d%d)\n",pp->x,pp->y);
}


78) main()
{
int i=_l_abc(10);
printf("%d\n",--i);
}
int _l_abc(int i)
{
return(i++);
}

79) main()
{
char *p;
int *q;
long *r;
p=q=r=0;
p++;
q++;
r++;
printf("%p...%p...%p",p,q,r);
}

80) main()
{
char c=' ',x,convert(z);
getc(c);
if((c>='a') && (c<='z'))
x=convert(c);
printf("%c",x);
}
convert(z)
{
return z-32;
}

81) main(int argc, char **argv)
{
printf("enter the character");
getchar();
sum(argv[1],argv[2]);
}
sum(num1,num2)
int num1,num2;
{
return num1+num2;
}

82) # include <stdio.h>
int one_d[]={1,2,3};
main()
{
int *ptr;
ptr=one_d;
ptr+=3;
printf("%d",*ptr);
}

83) # include<stdio.h>
aaa() {
printf("hi");
}
bbb(){
printf("hello");
}
ccc(){
printf("bye");
}
main()
{
int (*ptr[3])();
ptr[0]=aaa;
ptr[1]=bbb;
ptr[2]=ccc;
ptr[2]();
}

85) #include<stdio.h>
main()
{
FILE *ptr;
char i;
ptr=fopen("zzz.c","r");
while((i=fgetch(ptr))!=EOF)
printf("%c",i);
}

86) main()
{
int i =0;j=0;
if(i && j++)
printf("%d..%d",i++,j);
printf("%d..%d,i,j);
}

87) main()
{
int i;
i = abc();
printf("%d",i);
}
abc()
{
_AX = 1000;
}

88) int i;
main(){
int t;
for ( t=4;scanf("%d",&i)-t;printf("%d\n",i))
printf("%d--",t--);
}
// If the inputs are 0,1,2,3 find the o/p

89) main(){
int a= 0;int b = 20;char x =1;char y =10;
if(a,b,x,y)
printf("hello");
}

90) main(){
unsigned int i;
for(i=1;i>-2;i--)
printf("c aptitude");
}

91) In the following pgm add a stmt in the function fun
such that the address of
'a' gets stored in 'j'.
main(){
int * j;
void fun(int **);
fun(&j);
}
void fun(int **k) {
int a =0;
/* add a stmt here*/
}

92) What are the following notations of defining functions
known as?
i. int abc(int a,float b)
{
/* some code */
}
ii. int abc(a,b)
int a; float b;
{
/* some code*/
}

93) main()
{
char *p;
p="%d\n";
p++;
p++;
printf(p-2,300);
}

94) main(){
char a[100];
a[0]='a';a[1]]='b';a[2]='c';a[4]='d';
abc(a);
}
abc(char a[]){
a++;
printf("%c",*a);
a++;
printf("%c",*a);
}
95) func(a,b)
int a,b;
{
return( a= (a==b) );
}
main()
{
int process(),func();
printf("The value of process is %d !\n ",process(func,3,6));
}
process(pf,val1,val2)
int (*pf) ();
int val1,val2;
{
return((*pf) (val1,val2));
}

96) void main()
{
static int i=5;
if(--i){
main();
printf("%d ",i);
}
}

97) void main()
{
int k=ret(sizeof(float));
printf("\n here value is %d",++k);
}
int ret(int ret)
{
ret += 2.5;
return(ret);
}

98) void main()
{
char a[]="12345\0";
int i=strlen(a);
printf("here in 3 %d\n",++i);
}
99) void main()
{
unsigned giveit=-1;
int gotit;
printf("%u ",++giveit);
printf("%u \n",gotit=--giveit);
}
100) void main()
{
int i;
char a[]="\0";
if(printf("%s\n",a))
printf("Ok here \n");
else
printf("Forget it\n");
}










C,C++ Questions
1. Base class has some virtual method and derived class has
a method with the same name. If we initialize the base class
pointer with derived
object,. calling of that virtual method will result in which
method being called?
a. Base method
b. Derived method..
2. For the following C program
#define AREA(x)(3.14*x*x)
main()
{float r1=6.25,r2=2.5,a;
a=AREA(r1);
printf("\n Area of the circle is %f", a);
a=AREA(r2);
printf("\n Area of the circle is %f", a);
}
What is the output?
3. What do the following statements indicate. Explain.
• int(*p)[10]
• int*f()
• int(*pf)()
• int*p[10]
4.
void main()
{
int d=5;
printf("%f",d);
}
5.
void main()
{
int i;
for(i=1;i<4,i++)
switch(i)
case 1: printf("%d",i);break;
{
case 2:printf("%d",i);break;
case 3:printf("%d",i);break;
}
switch(i) case 4:printf("%d",i);
}
6.
void main()
{
char *s="\12345s\n";
printf("%d",sizeof(s));
}
7.
void main()
{
unsigned i=1; /* unsigned char k= -1 => k=255; */
signed j=-1; /* char k= -1 => k=65535 */
/* unsigned or signed int k= -1 =>k=65535 */
if(i<j)
printf("less");
else
if(i>j)
printf("greater");
else
if(i==j)
printf("equal");
}
8.
void main()
{
float j;
j=1000*1000;
printf("%f",j);
}

1. 1000000
2. Overflow
3. Error
4. None
9. How do you declare an array of N pointers to functions
returning
pointers to functions returning pointers to characters?

10. A structure pointer is defined of the type time . With 3
fields min,sec hours having pointers to intergers.
Write the way to initialize the 2nd element to 10.

11. In the above question an array of pointers is declared.
Write the statement to initialize the 3rd element of the
2 element to 10;

12.
int f()
void main()
{
f(1);
f(1,2);
f(1,2,3);
}
f(int i,int j,int k)
{
printf("%d %d %d",i,j,k);
}

What are the number of syntax errors in the above?


13.
void main()
{
int i=7;
printf("%d",i++*i++);
}

14.
#define one 0
#ifdef one
printf("one is defined ");
#ifndef one
printf("one is not defined ");

15.
void main()
{
int count=10,*temp,sum=0;
temp=&count;
*temp=20;
temp=&sum;
*temp=count;
printf("%d %d %d ",count,*temp,sum);
}

16. There was question in c working only on unix machine
with pattern matching.


14. what is alloca()
17.
main()
{
static i=3;
printf("%d",i--);
return i>0 ? main():0;
}

18.
char *foo()
{
char result[100]);
strcpy(result,"anything is good");
return(result);
}
void main()
{
char *j;
j=foo()
printf("%s",j);
}

19.
void main()
{
char *s[]={ "dharma","hewlett-packard","siemens","ibm"};
char **p;
p=s;
printf("%s",++*p);
printf("%s",*p++);
printf("%s",++*p);
}
20. Output of the following program is
main()
{int i=0;
for(i=0;i<20;i++)
{switch(i)
case 0:i+=5;
case 1:i+=2;
case 5:i+=5;
default i+=4;
break;}
printf("%d,",i);
}
}
a) 0,5,9,13,17
b) 5,9,13,17
c) 12,17,22
d) 16,21
e) Syntax error
21. What is the ouptut in the following program
main()
{char c=-64;
int i=-32
unsigned int u =-16;
if(c>i)
{printf("pass1,");
if(c<u)
printf("pass2");
else
printf("Fail2");
}
else
printf("Fail1);
if(i<u)
printf("pass2");
else
printf("Fail2")
}
a) Pass1,Pass2
b) Pass1,Fail2
c) Fail1,Pass2
d) Fail1,Fail2
e) None of these
22. What will the following program do?
void main()
{
int i;
char a[]="String";
char *p="New Sring";
char *Temp;
Temp=a;
a=malloc(strlen(p) + 1);
strcpy(a,p); //Line number:9//
p = malloc(strlen(Temp) + 1);
strcpy(p,Temp);
printf("(%s, %s)",a,p);
free(p);
free(a);
} //Line number 15//
a) Swap contents of p & a and print:(New string, string)
b) Generate compilation error in line number 8
c) Generate compilation error in line number 5
d) Generate compilation error in line number 7
e) Generate compilation error in line number 1
23. In the following code segment what will be the result of
the function,
value of x , value of y
{unsigned int x=-1;
int y;
y = ~0;
if(x == y)
printf("same");
else
printf("not same");
}
a) same, MAXINT, -1
b) not same, MAXINT, -MAXINT
c) same , MAXUNIT, -1
d) same, MAXUNIT, MAXUNIT
e) not same, MAXINT, MAXUNIT
24. What will be the result of the following program ?
char *gxxx()
{static char xxx[1024];
return xxx;
}
main()
{char *g="string";
strcpy(gxxx(),g);
g = gxxx();
strcpy(g,"oldstring");
printf("The string is : %s",gxxx());
}
a) The string is : string
b) The string is :Oldstring
c) Run time error/Core dump
d) Syntax error during compilation
e) None of these
25. Find the output for the following C program
main()
{
char *p1="Name";
char *p2;
p2=(char *)malloc(20);
while(*p2++=*p1++);
printf("%s\n",p2);
}
26. Find the output for the following C program
main()
{
int x=20,y=35;
x = y++ + x++;
y = ++y + ++x;
printf("%d %d\n",x,y);
}
27. Find the output for the following C program
main()
{
int x=5;
printf("%d %d %d\n",x,x<<2,x>>2);
}
28 Find the output for the following C program
#define swap1(a,b) a=a+b;b=a-b;a=a-b;
main()
{
int x=5,y=10;
swap1(x,y);
printf("%d %d\n",x,y);
swap2(x,y);
printf("%d %d\n",x,y);
}
int swap2(int a,int b)
{
int temp;
temp=a;
b=a;
a=temp;
return;
}
29 Find the output for the following C program
main()
{
char *ptr = "Ramco Systems";
(*ptr)++;
printf("%s\n",ptr);
ptr++;
printf("%s\n",ptr);
}
30 Find the output for the following C program
#include<stdio.h>
main()
{
char s1[]="Ramco";
char s2[]="Systems";
s1=s2;
printf("%s",s1);
}
31 Find the output for the following C program
#include<stdio.h>
main()
{
char *p1;
char *p2;
p1=(char *) malloc(25);
p2=(char *) malloc(25);
strcpy(p1,"Ramco");
strcpy(p2,"Systems");
strcat(p1,p2);
printf("%s",p1);
}
32. Find the output for the following C program given that
[1]. The following variable is available in file1.c
static int average_float;
33. Find the output for the following C program
# define TRUE 0
some code
while(TRUE)
{
some code
}
34. struct list{
int x;
struct list *next;
}*head;

the struct head.x =100

Is the above assignment to pointer is correct or wrong ?
35.What is the output of the following ?

int i;
i=1;
i=i+2*i++;
printf(%d,i);
36. FILE *fp1,*fp2;

fp1=fopen("one","w")
fp2=fopen("one","w")
fputc('A',fp1)
fputc('B',fp2)
fclose(fp1)
fclose(fp2)
}

Find the Error, If Any?
37. What are the output(s) for the following ?
38. #include<malloc.h>
char *f()
{char *s=malloc(8);
strcpy(s,"goodbye");
}

main()
{
char *f();
printf("%c",*f()='A'); }


39. #define MAN(x,y) (x)>(y)?(x):(y)
{int i=10;
j=5;
k=0;
k=MAX(i++,++j);
printf(%d %d %d %d,i,j,k);
}
40.
void main()
{
int i=7;
printf("%d",i++*i++);
}













C,C++ Questions
1. Base class has some virtual method and derived class has
a method with the same name. If we initialize the base class
pointer with derived
object,. calling of that virtual method will result in which
method being called?
a. Base method
b. Derived method..
2. For the following C program
#define AREA(x)(3.14*x*x)
main()
{float r1=6.25,r2=2.5,a;
a=AREA(r1);
printf("\n Area of the circle is %f", a);
a=AREA(r2);
printf("\n Area of the circle is %f", a);
}
What is the output?
3. What do the following statements indicate. Explain.
• int(*p)[10]
• int*f()
• int(*pf)()
• int*p[10]
4.
void main()
{
int d=5;
printf("%f",d);
}
5.
void main()
{
int i;
for(i=1;i<4,i++)
switch(i)
case 1: printf("%d",i);break;
{
case 2:printf("%d",i);break;
case 3:printf("%d",i);break;
}
switch(i) case 4:printf("%d",i);
}
6.
void main()
{
char *s="\12345s\n";
printf("%d",sizeof(s));
}
7.
void main()
{
unsigned i=1; /* unsigned char k= -1 => k=255; */
signed j=-1; /* char k= -1 => k=65535 */
/* unsigned or signed int k= -1 =>k=65535 */
if(i<j)
printf("less");
else
if(i>j)
printf("greater");
else
if(i==j)
printf("equal");
}
8.
void main()
{
float j;
j=1000*1000;
printf("%f",j);
}

1. 1000000
2. Overflow
3. Error
4. None
9. How do you declare an array of N pointers to functions
returning
pointers to functions returning pointers to characters?

10. A structure pointer is defined of the type time . With 3
fields min,sec hours having pointers to intergers.
Write the way to initialize the 2nd element to 10.

11. In the above question an array of pointers is declared.
Write the statement to initialize the 3rd element of the
2 element to 10;

12.
int f()
void main()
{
f(1);
f(1,2);
f(1,2,3);
}
f(int i,int j,int k)
{
printf("%d %d %d",i,j,k);
}

What are the number of syntax errors in the above?


13.
void main()
{
int i=7;
printf("%d",i++*i++);
}

14.
#define one 0
#ifdef one
printf("one is defined ");
#ifndef one
printf("one is not defined ");

15.
void main()
{
int count=10,*temp,sum=0;
temp=&count;
*temp=20;
temp=&sum;
*temp=count;
printf("%d %d %d ",count,*temp,sum);
}

16. There was question in c working only on unix machine
with pattern matching.


14. what is alloca()
17.
main()
{
static i=3;
printf("%d",i--);
return i>0 ? main():0;
}

18.
char *foo()
{
char result[100]);
strcpy(result,"anything is good");
return(result);
}
void main()
{
char *j;
j=foo()
printf("%s",j);
}

19.
void main()
{
char *s[]={ "dharma","hewlett-packard","siemens","ibm"};
char **p;
p=s;
printf("%s",++*p);
printf("%s",*p++);
printf("%s",++*p);
}
20. Output of the following program is
main()
{int i=0;
for(i=0;i<20;i++)
{switch(i)
case 0:i+=5;
case 1:i+=2;
case 5:i+=5;
default i+=4;
break;}
printf("%d,",i);
}
}
a) 0,5,9,13,17
b) 5,9,13,17
c) 12,17,22
d) 16,21
e) Syntax error
21. What is the ouptut in the following program
main()
{char c=-64;
int i=-32
unsigned int u =-16;
if(c>i)
{printf("pass1,");
if(c<u)
printf("pass2");
else
printf("Fail2");
}
else
printf("Fail1);
if(i<u)
printf("pass2");
else
printf("Fail2")
}
a) Pass1,Pass2
b) Pass1,Fail2
c) Fail1,Pass2
d) Fail1,Fail2
e) None of these
22. What will the following program do?
void main()
{
int i;
char a[]="String";
char *p="New Sring";
char *Temp;
Temp=a;
a=malloc(strlen(p) + 1);
strcpy(a,p); //Line number:9//
p = malloc(strlen(Temp) + 1);
strcpy(p,Temp);
printf("(%s, %s)",a,p);
free(p);
free(a);
} //Line number 15//
a) Swap contents of p & a and print:(New string, string)
b) Generate compilation error in line number 8
c) Generate compilation error in line number 5
d) Generate compilation error in line number 7
e) Generate compilation error in line number 1
23. In the following code segment what will be the result of
the function,
value of x , value of y
{unsigned int x=-1;
int y;
y = ~0;
if(x == y)
printf("same");
else
printf("not same");
}
a) same, MAXINT, -1
b) not same, MAXINT, -MAXINT
c) same , MAXUNIT, -1
d) same, MAXUNIT, MAXUNIT
e) not same, MAXINT, MAXUNIT
24. What will be the result of the following program ?
char *gxxx()
{static char xxx[1024];
return xxx;
}
main()
{char *g="string";
strcpy(gxxx(),g);
g = gxxx();
strcpy(g,"oldstring");
printf("The string is : %s",gxxx());
}
a) The string is : string
b) The string is :Oldstring
c) Run time error/Core dump
d) Syntax error during compilation
e) None of these
25. Find the output for the following C program
main()
{
char *p1="Name";
char *p2;
p2=(char *)malloc(20);
while(*p2++=*p1++);
printf("%s\n",p2);
}
26. Find the output for the following C program
main()
{
int x=20,y=35;
x = y++ + x++;
y = ++y + ++x;
printf("%d %d\n",x,y);
}
27. Find the output for the following C program
main()
{
int x=5;
printf("%d %d %d\n",x,x<<2,x>>2);
}
28 Find the output for the following C program
#define swap1(a,b) a=a+b;b=a-b;a=a-b;
main()
{
int x=5,y=10;
swap1(x,y);
printf("%d %d\n",x,y);
swap2(x,y);
printf("%d %d\n",x,y);
}
int swap2(int a,int b)
{
int temp;
temp=a;
b=a;
a=temp;
return;
}
29 Find the output for the following C program
main()
{
char *ptr = "Ramco Systems";
(*ptr)++;
printf("%s\n",ptr);
ptr++;
printf("%s\n",ptr);
}
30 Find the output for the following C program
#include<stdio.h>
main()
{
char s1[]="Ramco";
char s2[]="Systems";
s1=s2;
printf("%s",s1);
}
31 Find the output for the following C program
#include<stdio.h>
main()
{
char *p1;
char *p2;
p1=(char *) malloc(25);
p2=(char *) malloc(25);
strcpy(p1,"Ramco");
strcpy(p2,"Systems");
strcat(p1,p2);
printf("%s",p1);
}
32. Find the output for the following C program given that
[1]. The following variable is available in file1.c
static int average_float;
33. Find the output for the following C program
# define TRUE 0
some code
while(TRUE)
{
some code
}
34. struct list{
int x;
struct list *next;
}*head;

the struct head.x =100

Is the above assignment to pointer is correct or wrong ?
35.What is the output of the following ?

int i;
i=1;
i=i+2*i++;
printf(%d,i);
36. FILE *fp1,*fp2;

fp1=fopen("one","w")
fp2=fopen("one","w")
fputc('A',fp1)
fputc('B',fp2)
fclose(fp1)
fclose(fp2)
}

Find the Error, If Any?
37. What are the output(s) for the following ?
38. #include<malloc.h>
char *f()
{char *s=malloc(8);
strcpy(s,"goodbye");
}

main()
{
char *f();
printf("%c",*f()='A'); }


39. #define MAN(x,y) (x)>(y)?(x):(y)
{int i=10;
j=5;
k=0;
k=MAX(i++,++j);
printf(%d %d %d %d,i,j,k);
}
40.
void main()
{
int i=7;
printf("%d",i++*i++);
}













C Questions

Note : All the programs are tested under Turbo C/C++
compilers.
It is assumed that,
&#61656; Programs run under DOS environment,
&#61656; The underlying machine is an x86 system,
&#61656; 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:

1. void main()
{
int const * p=5;
printf("%d",++(*p));
}

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]);
}

3. main()
{
float me = 1.1;
double you = 1.1;
if(me==you)
printf("I love U");
else
printf("I hate U");
}

4. main()
{
static int var = 5;
printf("%d ",var--);
if(var)
main();
}

5. main()
{
int c[ ]={2.8,3.4,4,6.7,5};
int j,*p=c,*q=c;
for(j=0;j<5;j++) {
printf(" %d ",*c);
++q; }
for(j=0;j<5;j++){
printf(" %d ",*p);
++p; }
}

6. main()
{
extern int i;
i=20;
printf("%d",i);
}


7. main()
{
int i=-1,j=-1,k=0,l=2,m;
m=i++&&j++&&k++||l++;
printf("%d %d %d %d %d",i,j,k,l,m);
}
8. main()
{
char *p;
printf("%d %d ",sizeof(*p),sizeof(p));
}

9. main()
{
int i=3;
switch(i)
{
default:printf("zero");
case 1: printf("one");
break;
case 2:printf("two");
break;
case 3: printf("three");
break;
}
}

10. main()
{
printf("%x",-1<<4);
}

11. main()
{
char string[]="Hello World";
display(string);
}
void display(char *string)
{
printf("%s",string);
}

12. main()
{
int c=- -2;
printf("c=%d",c);
}

13. #define int char
main()
{
int i=65;
printf("sizeof(i)=%d",sizeof(i));
}

14. main()
{
int i=10;
i=!i>14;
Printf ("i=%d",i);
}

15. #include<stdio.h>
main()
{
char s[]={'a','b','c','\n','c','\0'};
char *p,*str,*str1;
p=&s[3];
str=p;
str1=s;
printf("%d",++*p + ++*str1-32);
}

16. #include<stdio.h>
main()
{
int a[2][2][2] = { {10,2,3,4}, {5,6,7,8} };
int *p,*q;
p=&a[2][2][2];
*q=***a;
printf("%d----%d",*p,*q);
}

17. #include<stdio.h>
main()
{
struct xx
{
int x=3;
char name[]="hello";
};
struct xx *s;
printf("%d",s->x);
printf("%s",s->name);
}

18. #include<stdio.h>
main()
{
struct xx
{
int x;
struct yy
{
char s;
struct xx *p;
};
struct yy *q;
};
}

19. main()
{
printf("\nab");
printf("\bsi");
printf("\rha");
}

20. main()
{
int i=5;
printf("%d%d%d%d%d%d",i++,i--,++i,--i,i);
}

21. #define square(x) x*x
main()
{
int i;
i = 64/square(4);
printf("%d",i);
}

22. main()
{
char *p="hai friends",*p1;
p1=p;
while(*p!='\0') ++*p++;
printf("%s %s",p,p1);
}

23. #include <stdio.h>
#define a 10
main()
{
#define a 50
printf("%d",a);
}

24. #define clrscr() 100
main()
{
clrscr();
printf("%d\n",clrscr());
}

25. main()
{
printf("%p",main);
}

27) main()
{
clrscr();
}
clrscr();


28) enum colors {BLACK,BLUE,GREEN}
main()
{

printf("%d..%d..%d",BLACK,BLUE,GREEN);

return(1);
}
29) void main()
{
char far *farther,*farthest;

printf("%d..%d",sizeof(farther),sizeof(farthest));

}

30) main()
{
int i=400,j=300;
printf("%d..%d");
}

31) main()
{
char *p;
p="Hello";
printf("%c\n",*&*p);
}

32) main()
{
int i=1;
while (i<=5)
{
printf("%d",i);
if (i>2)
goto here;
i++;
}
}
fun()
{
here:
printf("PP");
}

33) main()
{
static char
names[5][20]={"pascal","ada","cobol","fortran","perl"};
int i;
char *t;
t=names[3];
names[3]=names[4];
names[4]=t;
for (i=0;i<=4;i++)
printf("%s",names[i]);
}

34) void main()
{
int i=5;
printf("%d",i++ + ++i);
}

35) void main()
{
int i=5;
printf("%d",i+++++i);
}

36) #include<stdio.h>
main()
{
int i=1,j=2;
switch(i)
{
case 1: printf("GOOD");
break;
case j: printf("BAD");
break;
}
}

37) main()
{
int i;
printf("%d",scanf("%d",&i)); // value 10 is given as input here
}

38) #define f(g,g2) g##g2
main()
{
int var12=100;
printf("%d",f(var,12));
}

39) main()
{
int i=0;

for(;i++;printf("%d",i)) ;
printf("%d",i);
}

40) #include<stdio.h>
main()
{
char s[]={'a','b','c','\n','c','\0'};
char *p,*str,*str1;
p=&s[3];
str=p;
str1=s;
printf("%d",++*p + ++*str1-32);
}

41) #include<stdio.h>
main()
{
struct xx
{
int x=3;
char name[]="hello";
};
struct xx *s=malloc(sizeof(struct xx));
printf("%d",s->x);
printf("%s",s->name);
}

42) #include<stdio.h>
main()
{
struct xx
{
int x;
struct yy
{
char s;
struct xx *p;
};
struct yy *q;
};
}

43) main()
{
extern int i;
i=20;
printf("%d",sizeof(i));
}

44) main()
{
printf("%d", out);
}
int out=100;

45) main()
{
extern out;
printf("%d", out);
}
int out=100;

46) main()
{
show();
}
void show()
{
printf("I'm the greatest");
}

47) main( )
{
int a[2][3][2] = {{{2,4},{7,8},{3,4}},{{2,2},{2,3},{3,4}}};
printf(“%u %u %u %d \n”,a,*a,**a,***a);
printf(“%u %u %u %d \n”,a+1,*a+1,**a+1,***a+1);
}

48) main( )
{
int a[ ] = {10,20,30,40,50},j,*p;
for(j=0; j<5; j++)
{
printf(“%d” ,*a);
a++;
}
p = a;
for(j=0; j<5; j++)
{
printf(“%d ” ,*p);
p++;
}
}

49) main( )
{
static int a[ ] = {0,1,2,3,4};
int *p[ ] = {a,a+1,a+2,a+3,a+4};
int **ptr = p;
ptr++;
printf(“\n %d %d %d”, ptr-p, *ptr-a, **ptr);
*ptr++;
printf(“\n %d %d %d”, ptr-p, *ptr-a, **ptr);
*++ptr;
printf(“\n %d %d %d”, ptr-p, *ptr-a, **ptr);
++*ptr;
printf(“\n %d %d %d”, ptr-p, *ptr-a, **ptr);
}

50) main( )
{
char *q;
int j;
for (j=0; j<3; j++) scanf(“%s” ,(q+j));
for (j=0; j<3; j++) printf(“%c” ,*(q+j));
for (j=0; j<3; j++) printf(“%s” ,(q+j));
}

51) main( )
{
void *vp;
char ch = ‘g’, *cp = “goofy”;
int j = 20;
vp = &ch;
printf(“%c”, *(char *)vp);
vp = &j;
printf(“%d”,*(int *)vp);
vp = cp;
printf(“%s”,(char *)vp + 3);
}

52) main ( )
{
static char *s[ ] = {“black”, “white”, “yellow”, “violet”};
char **ptr[ ] = {s+3, s+2, s+1, s}, ***p;
p = ptr;
**++p;
printf(“%s”,*--*++p + 3);
}

53) main()
{
int i, n;
char *x = “girl”;
n = strlen(x);
*x = x[n];
for(i=0; i<n; ++i)
{
printf(“%s\n”,x);
x++;
}
}

54) int i,j;
for(i=0;i<=10;i++)
{
j+=5;
assert(i<5);
}

55) main()
{
int i=-1;
+i;
printf("i = %d, +i = %d \n",i,+i);
}

56) What are the files which are automatically opened when a
C file is executed?

57) what will be the position of the file marker?
a: fseek(ptr,0,SEEK_SET);
b: fseek(ptr,0,SEEK_CUR);

58) main()
{
char name[10],s[12];
scanf(" \"%[^\"]\"",s);
}
How scanf will execute?

59) What is the problem with the following code segment?
while ((fgets(receiving array,50,file_ptr)) != EOF)
;

60) main()
{
main();
}

61) main()
{
char *cptr,c;
void *vptr,v;
c=10; v=0;
cptr=&c; vptr=&v;
printf("%c%v",c,v);
}

62) main()
{
char *str1="abcd";
char str2[]="abcd";
printf("%d %d %d",sizeof(str1),sizeof(str2),sizeof("abcd"));
}

63) main()
{
char not;
not=!2;
printf("%d",not);
}

64) #define FALSE -1
#define TRUE 1
#define NULL 0
main() {
if(NULL)
puts("NULL");
else if(FALSE)
puts("TRUE");
else
puts("FALSE");
}

65) main()
{
int k=1;
printf("%d==1 is ""%s",k,k==1?"TRUE":"FALSE");
}

66) main()
{
int y;
scanf("%d",&y); // input given is 2000
if( (y%4==0 && y%100 != 0) || y%100 == 0 )
printf("%d is a leap year");
else
printf("%d is not a leap year");
}

67) #define max 5
#define int arr1[max]
main()
{
typedef char arr2[max];
arr1 list={0,1,2,3,4};
arr2 name="name";
printf("%d %s",list[0],name);
}

68) int i=10;
main()
{
extern int i;
{
int i=20;
{
const volatile unsigned i=30;
printf("%d",i);
}
printf("%d",i);
}
printf("%d",i);
}

69) main()
{
int *j;
{
int i=10;
j=&i;
}
printf("%d",*j);
}

70) main()
{
int i=-1;
-i;
printf("i = %d, -i = %d \n",i,-i);
}

71) #include<stdio.h>
main()
{
const int i=4;
float j;
j = ++i;
printf("%d %f", i,++j);
}

72) #include<stdio.h>
main()
{
int a[2][2][2] = { {10,2,3,4}, {5,6,7,8} };
int *p,*q;
p=&a[2][2][2];
*q=***a;
printf("%d..%d",*p,*q);
}

73) #include<stdio.h>
main()
{
register i=5;
char j[]= "hello";
printf("%s %d",j,i);
}

74) main()
{
int i=5,j=6,z;
printf("%d",i+++j);
}
76) struct aaa{
struct aaa *prev;
int i;
struct aaa *next;
};
main()
{
struct aaa abc,def,ghi,jkl;
int x=100;
abc.i=0;abc.prev=&jkl;
abc.next=&def;
def.i=1;def.prev=&abc;def.next=&ghi;
ghi.i=2;ghi.prev=&def;
ghi.next=&jkl;
jkl.i=3;jkl.prev=&ghi;jkl.next=&abc;
x=abc.next->next->prev->next->i;
printf("%d",x);
}

77) struct point
{
int x;
int y;
};
struct point origin,*pp;
main()
{
pp=&origin;
printf("origin is(%d%d)\n",(*pp).x,(*pp).y);
printf("origin is (%d%d)\n",pp->x,pp->y);
}


78) main()
{
int i=_l_abc(10);
printf("%d\n",--i);
}
int _l_abc(int i)
{
return(i++);
}

79) main()
{
char *p;
int *q;
long *r;
p=q=r=0;
p++;
q++;
r++;
printf("%p...%p...%p",p,q,r);
}

80) main()
{
char c=' ',x,convert(z);
getc(c);
if((c>='a') && (c<='z'))
x=convert(c);
printf("%c",x);
}
convert(z)
{
return z-32;
}

81) main(int argc, char **argv)
{
printf("enter the character");
getchar();
sum(argv[1],argv[2]);
}
sum(num1,num2)
int num1,num2;
{
return num1+num2;
}

82) # include <stdio.h>
int one_d[]={1,2,3};
main()
{
int *ptr;
ptr=one_d;
ptr+=3;
printf("%d",*ptr);
}

83) # include<stdio.h>
aaa() {
printf("hi");
}
bbb(){
printf("hello");
}
ccc(){
printf("bye");
}
main()
{
int (*ptr[3])();
ptr[0]=aaa;
ptr[1]=bbb;
ptr[2]=ccc;
ptr[2]();
}

85) #include<stdio.h>
main()
{
FILE *ptr;
char i;
ptr=fopen("zzz.c","r");
while((i=fgetch(ptr))!=EOF)
printf("%c",i);
}

86) main()
{
int i =0;j=0;
if(i && j++)
printf("%d..%d",i++,j);
printf("%d..%d,i,j);
}

87) main()
{
int i;
i = abc();
printf("%d",i);
}
abc()
{
_AX = 1000;
}

88) int i;
main(){
int t;
for ( t=4;scanf("%d",&i)-t;printf("%d\n",i))
printf("%d--",t--);
}
// If the inputs are 0,1,2,3 find the o/p

89) main(){
int a= 0;int b = 20;char x =1;char y =10;
if(a,b,x,y)
printf("hello");
}

90) main(){
unsigned int i;
for(i=1;i>-2;i--)
printf("c aptitude");
}

91) In the following pgm add a stmt in the function fun
such that the address of
'a' gets stored in 'j'.
main(){
int * j;
void fun(int **);
fun(&j);
}
void fun(int **k) {
int a =0;
/* add a stmt here*/
}

92) What are the following notations of defining functions
known as?
i. int abc(int a,float b)
{
/* some code */
}
ii. int abc(a,b)
int a; float b;
{
/* some code*/
}

93) main()
{
char *p;
p="%d\n";
p++;
p++;
printf(p-2,300);
}

94) main(){
char a[100];
a[0]='a';a[1]]='b';a[2]='c';a[4]='d';
abc(a);
}
abc(char a[]){
a++;
printf("%c",*a);
a++;
printf("%c",*a);
}
95) func(a,b)
int a,b;
{
return( a= (a==b) );
}
main()
{
int process(),func();
printf("The value of process is %d !\n ",process(func,3,6));
}
process(pf,val1,val2)
int (*pf) ();
int val1,val2;
{
return((*pf) (val1,val2));
}

96) void main()
{
static int i=5;
if(--i){
main();
printf("%d ",i);
}
}

97) void main()
{
int k=ret(sizeof(float));
printf("\n here value is %d",++k);
}
int ret(int ret)
{
ret += 2.5;
return(ret);
}

98) void main()
{
char a[]="12345\0";
int i=strlen(a);
printf("here in 3 %d\n",++i);
}
99) void main()
{
unsigned giveit=-1;
int gotit;
printf("%u ",++giveit);
printf("%u \n",gotit=--giveit);
}
100) void main()
{
int i;
char a[]="\0";
if(printf("%s\n",a))
printf("Ok here \n");
else
printf("Forget it\n");
}
C,C++ Questions
1. Base class has some virtual method and derived class has
a method with the same name. If we initialize the base class
pointer with derived
object,. calling of that virtual method will result in which
method being called?
a. Base method
b. Derived method..
2. For the following C program
#define AREA(x)(3.14*x*x)
main()
{float r1=6.25,r2=2.5,a;
a=AREA(r1);
printf("\n Area of the circle is %f", a);
a=AREA(r2);
printf("\n Area of the circle is %f", a);
}
What is the output?
3. What do the following statements indicate. Explain.
• int(*p)[10]
• int*f()
• int(*pf)()
• int*p[10]
4.
void main()
{
int d=5;
printf("%f",d);
}
5.
void main()
{
int i;
for(i=1;i<4,i++)
switch(i)
case 1: printf("%d",i);break;
{
case 2:printf("%d",i);break;
case 3:printf("%d",i);break;
}
switch(i) case 4:printf("%d",i);
}
6.
void main()
{
char *s="\12345s\n";
printf("%d",sizeof(s));
}
7.
void main()
{
unsigned i=1; /* unsigned char k= -1 => k=255; */
signed j=-1; /* char k= -1 => k=65535 */
/* unsigned or signed int k= -1 =>k=65535 */
if(i<j)
printf("less");
else
if(i>j)
printf("greater");
else
if(i==j)
printf("equal");
}
8.
void main()
{
float j;
j=1000*1000;
printf("%f",j);
}

1. 1000000
2. Overflow
3. Error
4. None
9. How do you declare an array of N pointers to functions
returning
pointers to functions returning pointers to characters?

10. A structure pointer is defined of the type time . With 3
fields min,sec hours having pointers to intergers.
Write the way to initialize the 2nd element to 10.

11. In the above question an array of pointers is declared.
Write the statement to initialize the 3rd element of the
2 element to 10;

12.
int f()
void main()
{
f(1);
f(1,2);
f(1,2,3);
}
f(int i,int j,int k)
{
printf("%d %d %d",i,j,k);
}

What are the number of syntax errors in the above?


13.
void main()
{
int i=7;
printf("%d",i++*i++);
}

14.
#define one 0
#ifdef one
printf("one is defined ");
#ifndef one
printf("one is not defined ");

15.
void main()
{
int count=10,*temp,sum=0;
temp=&count;
*temp=20;
temp=&sum;
*temp=count;
printf("%d %d %d ",count,*temp,sum);
}

16. There was question in c working only on unix machine
with pattern matching.


14. what is alloca()
17.
main()
{
static i=3;
printf("%d",i--);
return i>0 ? main():0;
}

18.
char *foo()
{
char result[100]);
strcpy(result,"anything is good");
return(result);
}
void main()
{
char *j;
j=foo()
printf("%s",j);
}

19.
void main()
{
char *s[]={ "dharma","hewlett-packard","siemens","ibm"};
char **p;
p=s;
printf("%s",++*p);
printf("%s",*p++);
printf("%s",++*p);
}
20. Output of the following program is
main()
{int i=0;
for(i=0;i<20;i++)
{switch(i)
case 0:i+=5;
case 1:i+=2;
case 5:i+=5;
default i+=4;
break;}
printf("%d,",i);
}
}
a) 0,5,9,13,17
b) 5,9,13,17
c) 12,17,22
d) 16,21
e) Syntax error
21. What is the ouptut in the following program
main()
{char c=-64;
int i=-32
unsigned int u =-16;
if(c>i)
{printf("pass1,");
if(c<u)
printf("pass2");
else
printf("Fail2");
}
else
printf("Fail1);
if(i<u)
printf("pass2");
else
printf("Fail2")
}
a) Pass1,Pass2
b) Pass1,Fail2
c) Fail1,Pass2
d) Fail1,Fail2
e) None of these
22. What will the following program do?
void main()
{
int i;
char a[]="String";
char *p="New Sring";
char *Temp;
Temp=a;
a=malloc(strlen(p) + 1);
strcpy(a,p); //Line number:9//
p = malloc(strlen(Temp) + 1);
strcpy(p,Temp);
printf("(%s, %s)",a,p);
free(p);
free(a);
} //Line number 15//
a) Swap contents of p & a and print:(New string, string)
b) Generate compilation error in line number 8
c) Generate compilation error in line number 5
d) Generate compilation error in line number 7
e) Generate compilation error in line number 1
23. In the following code segment what will be the result of
the function,
value of x , value of y
{unsigned int x=-1;
int y;
y = ~0;
if(x == y)
printf("same");
else
printf("not same");
}
a) same, MAXINT, -1
b) not same, MAXINT, -MAXINT
c) same , MAXUNIT, -1
d) same, MAXUNIT, MAXUNIT
e) not same, MAXINT, MAXUNIT
24. What will be the result of the following program ?
char *gxxx()
{static char xxx[1024];
return xxx;
}
main()
{char *g="string";
strcpy(gxxx(),g);
g = gxxx();
strcpy(g,"oldstring");
printf("The string is : %s",gxxx());
}
a) The string is : string
b) The string is :Oldstring
c) Run time error/Core dump
d) Syntax error during compilation
e) None of these
25. Find the output for the following C program
main()
{
char *p1="Name";
char *p2;
p2=(char *)malloc(20);
while(*p2++=*p1++);
printf("%s\n",p2);
}
26. Find the output for the following C program
main()
{
int x=20,y=35;
x = y++ + x++;
y = ++y + ++x;
printf("%d %d\n",x,y);
}
27. Find the output for the following C program
main()
{
int x=5;
printf("%d %d %d\n",x,x<<2,x>>2);
}
28 Find the output for the following C program
#define swap1(a,b) a=a+b;b=a-b;a=a-b;
main()
{
int x=5,y=10;
swap1(x,y);
printf("%d %d\n",x,y);
swap2(x,y);
printf("%d %d\n",x,y);
}
int swap2(int a,int b)
{
int temp;
temp=a;
b=a;
a=temp;
return;
}
29 Find the output for the following C program
main()
{
char *ptr = "Ramco Systems";
(*ptr)++;
printf("%s\n",ptr);
ptr++;
printf("%s\n",ptr);
}
30 Find the output for the following C program
#include<stdio.h>
main()
{
char s1[]="Ramco";
char s2[]="Systems";
s1=s2;
printf("%s",s1);
}
31 Find the output for the following C program
#include<stdio.h>
main()
{
char *p1;
char *p2;
p1=(char *) malloc(25);
p2=(char *) malloc(25);
strcpy(p1,"Ramco");
strcpy(p2,"Systems");
strcat(p1,p2);
printf("%s",p1);
}
32. Find the output for the following C program given that
[1]. The following variable is available in file1.c
static int average_float;
33. Find the output for the following C program
# define TRUE 0
some code
while(TRUE)
{
some code
}
34. struct list{
int x;
struct list *next;
}*head;

the struct head.x =100

Is the above assignment to pointer is correct or wrong ?
35.What is the output of the following ?

int i;
i=1;
i=i+2*i++;
printf(%d,i);
36. FILE *fp1,*fp2;

fp1=fopen("one","w")
fp2=fopen("one","w")
fputc('A',fp1)
fputc('B',fp2)
fclose(fp1)
fclose(fp2)
}

Find the Error, If Any?
37. What are the output(s) for the following ?
38. #include<malloc.h>
char *f()
{char *s=malloc(8);
strcpy(s,"goodbye");
}

main()
{
char *f();
printf("%c",*f()='A'); }


39. #define MAN(x,y) (x)>(y)?(x):(y)
{int i=10;
j=5;
k=0;
k=MAX(i++,++j);
printf(%d %d %d %d,i,j,k);
}
40.
void main()
{
int i=7;
printf("%d",i++*i++);
}
C QUESTIONS

How do you decide which integer type to use?

What should the 64-bit type on a machine that can support it?

What's the best way to declare and define global variables
and functions?

What does extern mean in a function declaration?

What's the auto keyword good for?

I can't seem to define a linked list successfully. I tried

typedef struct {
char *item;
NODEPTR next;
} *NODEPTR;

but the compiler gave me error messages. Can't a structure
in C
contain a pointer to itself?


How do I declare an array of N pointers to functions returning
pointers to functions returning pointers to characters?

How can I declare a function that can return a pointer to a
function of the same type?

What's the right declaration for main()?
Is void main() correct?

What am I allowed to assume about the initial values
of variables which are not explicitly initialized?
If global variables start out as "zero", is that good
enough for null pointers and floating-point zeroes?

This code, straight out of a book, isn't compiling:

int f()
{
char a[] = "Hello, world!";
}

What's wrong with this initialization?

char *p = malloc(10);

What is the difference between these initializations?

char a[] = "string literal";
char *p = "string literal";

What's the difference between these two declarations?

struct x1 { ... };
typedef struct { ... } x2;

Why doesn't

struct x { ... };
x thestruct;

work?

Can a structure contain a pointer to itself?

What's the best way of implementing opaque (abstract) data types
in C?

I came across some code that declared a structure like this:

struct name {
int namelen;
char namestr[1];
};

and then did some tricky allocation to make the namestr array
act like it had several elements. Is this legal or portable?

Is there a way to compare structures automatically?

How can I pass constant values to functions which accept
structure arguments?

How can I read/write structures from/to data files?

Why does sizeof report a larger size than I expect for a
structure type, as if there were padding at the end?

How can I determine the byte offset of a field within a
structure?

How can I access structure fields by name at run time?

This program works correctly, but it dumps core after it
finishes. Why?

struct list {
char *item;
struct list *next;
}

/* Here is the main program. */

main(argc, argv)
{ ... }

Can I initialize unions?

What is the difference between an enumeration and a set of
preprocessor #defines?

Is there an easy way to print enumeration values symbolically?

Why doesn't this code:

a[i] = i++;

work?

I've experimented with the code

int i = 3;
i = i++;

on several compilers. Some gave i the value 3, and some gave 4.
Which compiler is correct?

Can I use explicit parentheses to force the order of evaluation
I want? Even if I don't, doesn't precedence dictate it?

How can I understand these complex expressions? What's a
"sequence point"?

If I'm not using the value of the expression, should I use i++
or ++i to increment a variable?

Why doesn't the code

int a = 1000, b = 1000;
long int c = a * b;

work?

I'm trying to declare a pointer and allocate some space for it,
but it's not working. What's wrong with this code?

char *p;
*p = malloc(10);

Does *p++ increment p, or what it points to?

I have a char * pointer that happens to point to some ints, and
I want to step it over them. Why doesn't

((int *)p)++;

work?

I have a function which accepts, and is supposed to initialize,
a pointer:

void f(int *ip)
{
static int dummy = 5;
ip = &dummy;
}

But when I call it like this:

int *ip;
f(ip);

the pointer in the caller remains unchanged.

Why?

Can I use a void ** pointer as a parameter so that a function
can accept a generic pointer by reference?

I have a function

extern int f(int *);

which accepts a pointer to an int. How can I pass a
constant by
reference? A call like

f(&5);

doesn't seem to work.

Does C even have "pass by reference"?

What is infamous null pointer?

How do I get a null pointer in my programs?

Is the abbreviated pointer comparison "if(p)" to test for non-
null pointers valid? What if the internal representation for
null pointers is nonzero?

What is NULL and how is it #defined?

How should NULL be defined on a machine which uses a nonzero bit
pattern as the internal representation of a null pointer?

If NULL were defined as follows:

#define NULL ((char *)0)

wouldn't that make function calls which pass an uncast NULL
work?

If NULL and 0 are equivalent as null pointer constants,
which should I use?

What does a run-time "null pointer assignment" error mean?
How can I track it down?

Why are array and pointer declarations interchangeable as
function formal parameters?

How can an array be an lvalue, if you can't assign to it?

Practically speaking, what is the difference between arrays
and pointers?

How do I declare a pointer to an array?

How can I set an array's size at run time? How can I avoid
fixed-sized arrays?

How can I declare local arrays of a size matching a
passed-in array?

How can I dynamically allocate a multidimensional array?

How do I write functions which accept two-dimensional arrays
when the width is not known at compile time?

How can I use statically- and dynamically-allocated
multidimensional arrays interchangeably when passing them to
functions?
Why doesn't sizeof properly report the size of an array
when the array is a parameter to a function?

Why doesn't this fragment work?

char *answer;
printf("Type something:\n");
gets(answer);
printf("You typed \"%s\"\n", answer);

I just tried the code

char *p;
strcpy(p, "abc");

and it worked. How? Why didn't it crash?

How much memory does a pointer variable allocate?

Why am I getting "warning: assignment of pointer from
integer lacks a cast" for calls to malloc()?

Why does some code carefully cast the values returned by
malloc to the pointer type being allocated?

Why isn't a pointer null after calling free()? How unsafe is
it to use (assign, compare) a pointer value after it's been
freed?

When I call malloc() to allocate memory for a pointer which
is local to a function, do I have to explicitly free() it?

I'm allocating structures which contain pointers to other
dynamically-allocated objects. When I free a structure, do
I also have to free each subsidiary pointer?

Must I free allocated memory before the program exits?

How does free() know how many bytes to free?

Can I query the malloc package to find out how big an
allocated block is?

Is it legal to pass a null pointer as the first argument to
realloc()?

What's the difference between calloc() and malloc()? Is it
safe to take advantage of calloc's zero-filling? Does
free() work on memory allocated with calloc(), or do you
need a cfree()?

What is alloca() and why is its use discouraged?

Why doesn't

strcat(string, '!');

work?

How can I get the numeric (character set) value
corresponding to a character, or vice versa?

What is the right type to use for Boolean values in C?

Is if(p), where p is a pointer, a valid conditional?

How can I write a generic macro to swap two values?
What's the best way to write a multi-statement macro?

Is it acceptable for one header file to #include another?

What's the difference between #include <> and #include "" ?

What are the complete rules for header file searching?

How can I construct preprocessor #if expressions which
compare strings?

Does the sizeof operator work in preprocessor #if directives?

Can I use an #ifdef in a #define line, to define something
two different ways?

Is there anything like an #ifdef for typedefs?

How can I use a preprocessor #if expression to tell if a
machine is big-endian or little-endian?

How can I list all of the predefined identifiers?

How can I write a macro which takes a variable number of
arguments?

What is the "ANSI C Standard?"

What's the difference between "const char *p" and "char *
const p"?

Why can't I pass a char ** to a function which expects a
const char **?

What's the correct declaration of main()?

Can I declare main() as void ?

What does the message "warning: macro replacement within a
string literal" mean?

What are #pragmas and what are they good for?

What does "#pragma once" mean?

Is char a[3] = "abc"; legal? What does it mean?

Why can't I perform arithmetic on a void * pointer?

What's the difference between memcpy() and memmove()?

What should malloc(0) do? Return a null pointer or a
pointer to 0 bytes?

What's wrong with this code?

char c;
while((c = getchar()) != EOF) ...

Why does the code

while(!feof(infp)) {
fgets(buf, MAXLINE, infp);
fputs(buf, outfp);
}

copy the last line twice?
How can I read one character at a time, without waiting for
the RETURN key?

How can I print a '%' character in a printf format string?

What printf format should I use for a typedef like size_t
when I don't know whether it's long or some other type?

How can I implement a variable field width with printf?

How can I print numbers with commas separating the
thousands? What about currency formatted numbers?

Why doesn't the call scanf("%d", i) work?

How can I specify a variable width in a scanf() format string?

Why doesn't this code:

double d;
scanf("%f", &d);

work?

How can I tell how much destination buffer space I'll need
for an arbitrary sprintf call? How can I avoid overflowing
the destination buffer with sprintf()?

What's the difference between fgetpos/fsetpos and ftell/fseek?

What are fgetpos() and fsetpos() good for?

How can I redirect stdin or stdout to a file from within a
program?

How can I read a binary data file properly?

How can I convert numbers to strings (the opposite of
atoi)? Is there an itoa() function?

Why does strncpy() not always place a '\0' terminator in the
destination string?

Why do some versions of toupper() act strangely if given an
upper-case letter?

How can I split up a string into whitespace-separated
fields? How can I duplicate the process by which main() is
handed argc and argv?

How can I sort a linked list?

How can I sort more data than will fit in memory?

How can I get the current date or time of day in a C program?

How can I add N days to a date? How can I find the
difference between two dates?

How can I get random integers in a certain range?

How can I generate random numbers with a normal or Gaussian
distribution?

What does it mean when the linker says that _end is undefined?

When I set a float variable to, say, 3.1, why is printf
printing it as 3.0999999?

What's a good way to check for "close enough"
floating-point equality?

How do I round numbers?

Why doesn't C have an exponentiation operator?

How do I test for IEEE NaN and other special values?

What's a good way to implement complex numbers in C?

How can %f be used for both float and double arguments in
printf()? Aren't they different types?

How can I write a function that takes a variable number of
arguments?

How can I write a function that takes a format string and a
variable number of arguments, like printf(), and passes them
to printf() to do most of the work?

How can I write a function analogous to scanf(), that calls
scanf() to do most of the work?

How can I discover how many arguments a function was
actually called with?

How can I write a function which takes a variable number of
arguments and passes them to some other function (which
takes a variable number of arguments)?

How can I call a function with an argument list built up at
run time?

C QUESTIONS

What does static variable mean?
What is a pointer?
What is a structure?
What are the differences between structures and arrays?
In header files whether functions are declared or defined?
What are the differences between malloc()


No Answer is Posted For this Question
Be the First to Post Answer

Post New Answer

More C++ General Interview Questions

Describe delete operator?

0 Answers  


Write about c++ storage classes?

0 Answers  


What does the following code do: int c=0; cout< a) Undefined *Updated* b) 01 c) 00

0 Answers  


What are the various arithmetic operators in c++?

0 Answers  


How do you link a C++ program to C functions?

4 Answers  






class base { public: int fun(int) {} }; class base2 { public: int fun(float) { } }; so here qustion is both function either function overloading or over riding;

4 Answers   Manhattan,


How can you quickly find the number of elements stored in a dynamic array? Why is it difficult to store linked list in an array?

0 Answers  


C++ program output? Explain output of this program. #include <iostream> using std::cout; using std::cin; int main() {   cout<<cout<<' ';   cout<<cin;   return 0; } It prints some address in hexadecimal. what is it?

1 Answers  


What is encapsulation in c++ with example?

0 Answers  


Which is best c++ or java?

0 Answers  


Is java a c++?

0 Answers  


What are the different data types present in C++?

1 Answers  


Categories