int a[5]={2,4,6,8,10},*P,* *k; p=a; k=&p; printf("%d",*(p++)); printf("%d ",* *k); 为什么?输出结果是(2、4 ).

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/07 07:23:03
int a[5]={2,4,6,8,10},*P,* *k; p=a; k=&p; printf(

int a[5]={2,4,6,8,10},*P,* *k; p=a; k=&p; printf("%d",*(p++)); printf("%d ",* *k); 为什么?输出结果是(2、4 ).
int a[5]={2,4,6,8,10},*P,* *k; p=a; k=&p; printf("%d",*(p++)); printf("%d ",* *k); 为什么?
输出结果是(2、4 ).

int a[5]={2,4,6,8,10},*P,* *k; p=a; k=&p; printf("%d",*(p++)); printf("%d ",* *k); 为什么?输出结果是(2、4 ).
P++,先把P赋值出去,自己再增.printf("%d",*(p++));
等同于:printf("%d",*(p));P++;p是数组a的首地址,因此输出a【0】即,2,
同样,k输出p++后的a【1】,即4