ldcf.net
当前位置:首页 >> mAin() {int A[10]={1,2,3,4,5,6,7,8,9,0},*p; p=A... >>

mAin() {int A[10]={1,2,3,4,5,6,7,8,9,0},*p; p=A...

我运行出来结果是10 环境是VS2008 int a[]={1,2,3,4,5,6,7,8,9,0},*p; p=a; printf("%d",*p+9);

这个函数的功能是将输入的指针所指向的后一个变量赋给指针指向的变量。第一个for循环,i为2满足条件,将a[3]赋值给a[2],数组变为{10,9,7,7,6,5,4,3,2,1},同理第二次循环数组变为{10,7,7,7,6,5,4,3,2,1},第三次为{7,7,7,7,6,5,4,3,2,1},运行...

main( ) { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p-2; //*p=&a[3]把a中的3索引号地址给指针p,3索引号处为4,因为索引是从0算起 //*q=p-2把p的地址减2个int位,即1处的索引号地址给指针q,1处的索引号处的值为2 printf("%d\n",*p+*q); ...

可能初学者没懂题的意思,这道题main()函数逻辑很清晰,关键在于f()函数我一开始看时也没懂什么意思,他主要是把数组第3到第6元素乘以2其余的不变(相信你们会for循环),然后再循环输出得到1,2,6,8,10,12,7,8,9,10,的结果。

printf("%x\n",a) // 输出194说明数组的首地址的十六进制表示为194,也就是1×16²+9×16+4=404 printf("%x\n",a+9);// a+9表示int型数组首地址后的第九个元素的地址,也就是404+9×2=422(每个int型数组元素占两个字节,编译器不同int可能占4...

这里是输出地址的16进制值 假如1个整数是2个字节,则p+9 比p多了2*9 =18,为16进制的12H,加上194H,就是1A6H,答案是D 如果1个整数占4个字节,则p+9 比p多了4*9 = 36,为16进制的24H,加上194H,得到1B8,题目中没有答案

你的程序的确很绕埃但是在我想了一下换是明白了。: 你只要把你每次改变b记下来就明白了 我给你说10吧 28也是一样的 首先b = 2; 之后fun函数传过去了a[2]的地址就是3 ,经过运算函数返回了b的值是5 ,在接着就是 b=fun(&a[i])+b;这句 最后b就被...

#include void change(int *n, int len) { int a, *p= &a; for(int i= 0; i < len/2; i++) { *p= *(n+i); *(n+i)= *(n+len-1-i); *(n+len-1-i)= *p; } } void main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; change(a, 10); for(int i= 0; i < 10;...

6789

p是int *型指针。 所以 p+n(n为整数) p实际的地址值为((int)p)+sizeof(int)*n 这里 输出的也就是 0x194+sizeof(int)*9 注意,这里的194是16进制的。因为是0x输出。 如果是sizeof(int) =4 也就是32/64位系统,那么输出为 0x194+4*9=0x194+0x24=0x...

网站首页 | 网站地图
All rights reserved Powered by www.ldcf.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com