NO.244 指针计算
本帖最后由 我爱橙 于 2022-3-10 16:50 编辑Q:变量p为指针变量,若p=&a,下列说法不正确的是
A.&*p==&a
B.*&a==a
C.(*p)++==a++
D.*(p++)==a++ D
*(p++)表示p往p指向的地址往后移一位再取地址里面的值
a++表示,a的值自增1 本帖最后由 我爱橙 于 2022-3-11 16:25 编辑
A
#include <stdio.h>
#include <math.h>
int main()
{
int a,*p;
p=&a;
&*p==&a;
printf("a=%d\n", a);// a=0
printf("&a=%d\n", &a);// &a=6487572
printf("p=%d\n", p); //p=6487572
printf("*p=%d\n", *p); //*p=0
printf("&*p=%d\n", &*p); //&*p=6487572
return 0;
} 本帖最后由 我爱橙 于 2022-3-11 16:30 编辑
B
#include <stdio.h>
#include <math.h>
int main()
{
int a,*p;
p=&a;
*&a==a;
printf("a=%d\n", a);// a=0
printf("&a=%d\n", &a);// &a=6487572
printf("*&a=%d\n", a);//*&a=0
printf("p=%d\n", p); //p=6487572
printf("*p=%d\n", *p); //*p=0
return 0;
} 本帖最后由 我爱橙 于 2022-3-11 16:45 编辑
C
#include <stdio.h>
#include <math.h>
int main()
{
int a,*p;
p=&a;
printf("a=%d\n", a);// a=0
printf("&a=%d\n", &a);// &a=6487572
printf("p=%d\n", p); // p=6487576
printf("*p=%d\n", *p); // *p=0
(*p)++==a++;
printf("p=%d\n", p); //p=6487572
printf("*p=%d\n", *p); //*p=2
printf("(*p)++=%d\n", (*p)++); // (*p)++=2
printf("a=%d\n", a);//a=3
printf("a++=%d\n", a++);// a++=3
printf("&a=%d\n", &a); //&a=6487572
return 0;
}
#include <stdio.h>
#include <math.h>
int main()
{
int a,*p;
p=&a;
printf("a=%d\n", a);// a=0
printf("&a=%d\n", &a);// &a=6487572
printf("p=%d\n", p); // p=6487576
printf("*p=%d\n", *p); // *p=0
(*p)++==a++;
printf("a=%d\n", a);//a=2
printf("a++=%d\n", a++);// a++=2
printf("&a=%d\n", &a); //&a=6487572
printf("p=%d\n", p); //p=6487572
printf("*p=%d\n", *p); //*p=3
printf("(*p)++=%d\n", (*p)++); // (*p)++=3
return 0;
}
本帖最后由 我爱橙 于 2022-3-11 16:43 编辑
D
#include <stdio.h>
#include <math.h>
int main()
{
int a,*p;
p=&a;
printf("a=%d\n", a);// a=0
printf("&a=%d\n", &a);// &a=6487572
printf("p=%d\n", p); // p=6487576
printf("*p=%d\n", *p); // *p=0
*(p++)==a++;
printf("p=%d\n", p); // p=6487576
printf("*p=%d\n", *p); // *p=6487576
printf("p++=%d\n", p++); // p++=6487576
printf("*(p++)=%d\n", *(p++)); // *(p++)=0
printf("a=%d\n", a);// a=1
printf("a++=%d\n", a++);// a++=1
printf("&a=%d\n", &a);// &a=6487572
return 0;
}
本帖最后由 我爱橙 于 2022-3-11 16:22 编辑
#include <stdio.h>
#include <math.h>
int main()
{
int a,*p;
p=&a;
printf("a=%d\n", a);// a=0
printf("&a=%d\n", &a);// &a=6487572
printf("p=%d\n", p); // p=6487576
printf("*p=%d\n", *p); // *p=0
return 0;
}
页:
[1]