Pointers
Pointers
#include<stdio.h>
int main()
{
int a[]={1,2,3,4};
int *p=a,i;
p++;
*(p+1)=29;
p=p+1;
*p=23;
p--;
*(p+0)=12;
p=a;
for(i=0;i<4;i++)
printf("%d ",*(p+i));
return 0;
}
A. 1 12 23 4
B. 1 29 23 12
C. 1 23 12 29
D. 1 23 3 4
Q1(Solution)
#include<stdio.h>
int main()
{
int a[]={1,2,3,4};
int *p=a,i;
p++;
*(p+1)=29;
p=p+1;
*p=23;
p--;
*(p+0)=12;
p=a;
for(i=0;i<4;i++)
printf("%d ",*(p+i));
return 0;
}
A. 1 12 23 4
B. 1 29 23 12
C. 1 23 12 29
D. 1 23 3 4
Q2
#include<stdio.h>
int main()
{
int a[]={1,2,3,4};
int *p1=a,i;
int *p2=&a[2];
p2--;
*(p2-1)=90;
p1=p2;
*p1=100;
for(i=0;i<4;i++)
printf("%d ",a[i]);
return 0;
}
A. 1 90 100 4
B. 90 100 3 4
C. 90 2 100 4
D. 1 2 90 100
Q2(Solution)
#include<stdio.h>
int main()
{
int a[]={1,2,3,4};
int *p1=a,i;
int *p2=&a[2];
p2--;
*(p2-1)=90;
p1=p2;
*p1=100;
for(i=0;i<4;i++)
printf("%d ",a[i]);
return 0;
}
A. 1 90 100 4
B. 90 100 3 4
C. 90 2 100 4
D. 1 2 90 100
Q3
#include<stdio.h>
int main()
{
int a[]={1,2,3,4};
int *p1=a,*p2=&a[3];
p1++;
printf("\n%d %d",p2-p1,*p2-*p1);
return 0;
}
A. 2 2
B. 3 2
C. 3 3
D. 2 3
Q3(Solution)
#include<stdio.h>
int main()
{
int a[]={1,2,3,4};
int *p1=a,*p2=&a[3];
p1++;
printf("\n%d %d",p2-p1,*p2-*p1);
return 0;
}
A. 2 2
B. 3 2
C. 3 3
D. 2 3
Q4
#include<stdio.h>
int main()
{
int a[]={1,2,3,4};
int *p=a;
*(p+1)=*(p+2);
printf("\n%d",a[2]);
return 0;
}
A. 3
B. 2
C. Compile time error
D. 0
Q4(Solution)
#include<stdio.h>
int main()
{
int a[]={1,2,3,4};
int *p=a;
*(p+1)=*(p+2);
printf("\n%d",a[2]);
return 0;
}
A. 3
B. 2
C. Compile time error
D. 0
Q5
#include<stdio.h>
int main()
{
int a[]={1,2,3,4};
int *p=a,x;
x=*p++;
printf("\n%d %d",x,*p);
return 0;
}
A. 1 2
B. 2 2
C. 1 1
D. Compile time error
Q5(Solution)
#include<stdio.h>
int main()
{
int a[]={1,2,3,4};
int *p=a,x;
x=*p++;
printf("\n%d %d",x,*p);
return 0;
}
A. 1 2
B. 2 2
C. 1 1
D. Compile time error