int *pp,*q,a=10,b=20:pp=&p
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/22 16:49:28
输出2个结果4和8因为b被定义为全局变量,所以会记录前一次的结果.函数返回b.所以当i为2时,b加上b也就是2+2=4,第二次时b+b=8,也就是4+4=8.{b=*k=b;return(b);}b的
你的&&应该去掉吧?结果是7.{inta=5;s+=f(&&a);//这里传的参数是5(局部变量)}s+=f(&&a);//这里以传的参数是2(全局变量)再问:有一个书上是这么写的&&a,我也不是很明
*q=a+9,就是定义一个指针,指向数组最后的那个地址
1结果是:82分析inta[]={1,3,5,7};int*p[3]={a+2,a+1,a};//有语法错,已改正!int**q=p;printf("%d\n",*(p[0]+1)+**(q+2));
n/=10就是n=n/10也就是把n除10的值赋值给n.由于n和10都是整形,所以/是整除,即舍去了余数,如100/10=10,101/10=10(余数1舍去了),99/10=9(余数9舍去了),10
PP*10=PR+03*10=10+3*10=40
10,10,9,8,6,5,4,3,2,1
pp是二级指针,没看见么?再问:二级指针是什么呀再答:pp是二维指针,指向一级指针数组p.以选项A为例,pp[0]就是*pp,即p[0]的地址,p[0][1]就是取p[0]指向的数组中下标为1的项。之
p取a[0]地址,q取[5]地址,两个相减得到距离5.
等于5呢请注意函数中新建立的a是不同于主函数中已有的变量a的
*(P++)=2**PP=4p=x取数组首地址的值2p++是运算后自增所以下个运算p已经指向4
内存的排列是线性的,P的类型是int*,而inta4[4][10]的类型是inta(*)[10],要是一位数组就对了再问:二维数组的排列不就是线性的?a不就是代表其首地址?不就是地址的赋值?你的意思是
mai函数是程序执行的第一步,首先看main方法,它执行的顺序是:调用f1方法,调用f2方法,打印a.f1中a被重新定义为20,f2中a没有被赋值,还是10,最后打印a,但这时a被定义为30,所以输出
结果是:2020pp=&p也就是说pp存放的是p的地址.p=&ap存放a的地址,指向ap=&bp存放b的地址了,指向b了输出*p也就是p指向的变量值,是b的值,也就是20**pp:*pp是p的地址,*
将常数赋值给a,此时a就等于-100,而i其实你写了就一个语句不好判断,不过基本上都是循环语句里用的,控制循环的次数,看来你是才学这个的……其实C语言还是比较简单的再问:为什么在循环语句里,要在之前给
q是指针,指向a[9]的位置,*p是a[9]的内容
2,3再问:为什么呢再答:*q输出时加1了,不再是2。如果是在运算中就是2,因为++在后是先计算后加1的再问:您运行过么·我看答案上写的是3,2啊··
Aq是空指针,不能对其操作.再问:可不可以详细点呢?我不知道B和D是怎么回事?再答:B,给w赋值p,所以w和p指向了同一个单元。即*w就是*pD,把*w赋值给*p,即把w指向的单元赋值了p指向单元中的
a=3,b=5a=5,b=3再问:可以详细解释一下吗?再答:voidf1(intx,inty)x,y传进去的都是临时变量,出函数体后值不变;还是a=3,b=5voidf2(int*x,int*y)传进