Q.1
Determine Output:
void main()
{
      char *p;
      p="%d\n";
      p++;
      p++;
      printf(p-2, 300);
}
Q.2
Determine Output:
void main()
{
      int i;
      char a[]=""; 
      if(printf("%sn", a))
            printf("Ok here n");
      else
            printf("Forget itn");
}
Q.3
Determine Output:
void 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;
      }
}
Q.4
Determine Output:
void main()
{
      int i=i++, j=j++, k=k++;
      printf("%d %d %d", i, j, k);
}
Q.5
Determine Output:
void main()
{
      static int i=i++, j=j++,  k=k++;
      printf("%d %d %d", i, j, k);
}
Q.6
Determine Output:
void 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++;
      }
}
Q.7
Determine Output:
#include<stdio.h>
void main()
{
      char s[]={'a','b','c','n','c','\0'}; 
      char *p, *str, *str1; 
      p=&s[3]; 
      str=p;
      str1=s;
      printf("%c", ++*p + ++*str1-32);
}
Q.8
Determine Output:
#define prod(a,b)  a*b
void main()
{
      int x=3, y=4;
      printf("%d", prod(x+2, y-1));
}
Q.9
Determine Output:
void main()
{
      char p[]="%dn";
      p[1] = 'c';
      printf(p, 65);
}
Q.10
Determine Output:
void 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); 
}
Q.11
Determine Output:
void main()
{
      char not; 
      not = !2;
      printf("%d", not);
}
Q.12
Determine Output:
#include<stdio.h>
void main()
{
      register i=5;
      char j[]= "hello";
      printf("%s %d", j, i);
}
Q.13
Determine Output:
void main()
{
      int i=0, j=0;
      if(i && j++)
            printf("%d..%d", i++, j);
      printf("%d..%d", i, j);
}
Q.14
Determine Output:
void main()
{
      static int i=5;
      if(--i){
            main();
            printf("%d ", i);
      }
}
Q.15
Determine Output:
void main()
{
      int i=5, j=6, z;
      printf("%d", i+++j);
}
Q.16
Determine Output:
void main()
{
      int i = abc(10);
      printf("%d", --i);
}
int abc(int i)
{
      return(i++);
}
Q.17
Determine Output:

void main()
{
      char a[]="12345"; 
      int i = strlen(a); 
      printf("%d", ++i);
}
Q.18
Determine Output:
void 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);
}
Q.19
Determine Output:
void main()
{
      int i=1, j=2;
      switch(i)
      {
            case 1: printf("GOOD"); break;
            case j: printf("BAD"); break;
      }
}
Q.20
Determine Output:
void main()
{
      int i = -1;
      +i;
      printf("i = %d, +i = %d", i, +i);
}
0 h : 0 m : 1 s