qhnw.net
当前位置:首页 >> #inCluDE <stDio.h> struCt st{ int x;int*y;}*... >>

#inCluDE <stDio.h> struCt st{ int x;int*y;}*...

++(*p->y)) 首先这句中, '->' 比 '*' 优先级要高.先计算p->y, p = aa 即 p->y = aa[0].y = &dt[0].是一个指针.*(p->y) = dt[0] = 10.最后++(*(p->y))) = 11.

按顺序赋值,rec[0].y=4 rec[1].x=5

d相当于一个指针,而且是指向数组d首地址(d[0])的指针,d代替*m ++p->n是先吧p->n找出在加1 .p=arr所以p->n就是arr[0]中的n=100,再自加1=101.(++p)->n是先把p加1再选n即arr【1】->n=200;++(*p->m)是先选出*p->m的值再加1,p->m是一个指针,p在上面已经加1所以指向的是d[1]的指针,加上*得d[1]的值20,所以++(*p->m)=21;综上选A有什么不会的再问哈

数组a,b分别就是数组的首地址,即指针啊. pt=c ++pt->x,pt指向数组c,pt就是首地址,++pt就是指针移动,c[1].x

#includeint main(){int n,i=1,j=1,sum=0; /*i为循环变量,j为n!, sum为总和 */ printf("请输入n的值:\n"); scanf("%d",&n); while(i 评论0 0 0

你写的程序:#include<stdio.h>int t(int x,int y,int cp,int dp){cp=x*x+y*y; dp=x*x-y*y;}main(){int a=4,b=3,c=5,d=6;t(a,b,c,d);ptintf("%d%d",c,d)}传递参数只是形参,并没有改变c和d的值!在内存中c和d还是原样,这点要注意啊!你的程序执行

按你的递归函数,f(10)=f(9)/2=f(8)/4==f(1)/2^9=100/512=0.19533125 但是你的返回值是int类型,小数会强制转换成整型数,也就是0 返回值类型改成double就可以了.稍微修改后的代码如下: #include double f(int x); int main() { int n = 10; double r; r=f(n); printf("%lf\n",r); return 0; } double f(int n) { if (n==1) return 100; if (n>1) { return (f(n-1)/2); } }输出结果为: 0.195312 望采纳,谢谢~

st[]是一个结构体数组.st[k].x是数组中第k个结构体的属性x的值s1[2]和s2[2]都是结构体数组当st[k].x不能被2整除时,s1[i++]就被赋值为st[k]当st[k].x能被2整除时,s2[ij++]就被赋值为st[k]for循环完成之后s1[0]={1,10},s1[1]={3,30} s2[0]={2,20},s2[1]={4,40}所以s1[0].y=10,s2[0].y=20

相关文档
snrg.net | jmfs.net | jingxinwu.net | zxqs.net | ceqiong.net | 网站首页 | 网站地图
All rights reserved Powered by www.qhnw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com