C语言 k=&p main(){ int a[5]={2,4,5,6,10},*p,**k;p=a; k=&p; pri
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/10 14:06:01
C语言 k=&p
main()
{ int a[5]={2,4,5,6,10},*p,**k;
p=a; k=&p; printf(“%d”,*(p++)); printf(“%d\n”,**k); }
k=&p 就是说 k指向了指针p 对吧,但是p改变之后 并没有再一次的把p赋值给k啊?
为什么k会是4呢?
是不是说k指向的p这个指针,而p指向的内容变化了 顺着k指向的最终内容也变化了?
main()
{ int a[5]={2,4,5,6,10},*p,**k;
p=a; k=&p; printf(“%d”,*(p++)); printf(“%d\n”,**k); }
k=&p 就是说 k指向了指针p 对吧,但是p改变之后 并没有再一次的把p赋值给k啊?
为什么k会是4呢?
是不是说k指向的p这个指针,而p指向的内容变化了 顺着k指向的最终内容也变化了?
首先p是一个变量,在*(p++)后p变量的值变化了,p变量的值指向数组中的a[1]即4,但是p的地址没有变,即k仍然指向p,所以k就可以通过p访问到a[1] = 4了.
也就是刚开始k----->p------>a[0],在执行*(p++)后变成k----->p------>a[1];
这种指针问题你搞不清楚时,你可以在本子上画画就会搞明白了.
也就是刚开始k----->p------>a[0],在执行*(p++)后变成k----->p------>a[1];
这种指针问题你搞不清楚时,你可以在本子上画画就会搞明白了.
C语言 k=&p main(){ int a[5]={2,4,5,6,10},*p,**k;p=a; k=&p; pri
main() {int a[5]={2,4,6,8,10},*p,**k; p=a; k=&p; printf("%d"
main() {int a【5】={2,4,6,8,10},*p,**k; p=a;k=&p;
int a[5]={2,4,6,8,10},*P,* *k; p=a; k=&p; printf("%d",*(p++)
若int a[10],*p,k=5; p=a+k; 则p的内容为 ___________________________
#include main() {int a,b,k=4,m=6,*p=&k,*q=&m; a=p==&m; b=(--
#define P 3 #define S(a) P*a*a main() {int ar; ar=s(3+5) pri
fun ( int *p ) { int a=10; p = &a; ++a; } main ( ) { int a=5
#include"stdio.h" fun(int k,int *p) {int a,b;if(k==1||k==2)*
#define Tap(X) 2*X+1 main() {int a=6,k=2,m=1; a+=Tap(k+m); p
#include "stdio.h" main() { int a []={1,2,3,4,5},*p;p=a;*(p+
c语言int a[ ]=(1,2,3,4,5,6) *P=a,什么意思,*P=1?