int a[10];int*pa;pa=a;则元素a[4]的地址可以表示为
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 13:24:56
输出:3n=fun(x)//x=2,fun函数中:a=a*x=3*2=6,return后,n=6n=fun(y)//y=1,fun函数中:a=a*x=3*1=3,return后,n=3
*pa=﹠a指针pa指向的是a的地址,*pc指针指向的是b的值.
注意a和b是形参,其作用域只限于函数内部,可以把它们当作局部变量来用,你这里的a和b都没有在函数max之外用到,所以是可以用的.
voidfunc(inta,int&b)//传入的值为0和1,a=0b=1{a++;//a在函数中的值改为1,但是出函数后,x仍然=0b++;//b是引用传参(b相当于y),所以跳出函数后y的值改为2
intmax(inta[],intn){intmaxa=-1;for(inti=0;imaxa)maxa=a[i];}returnmaxa;}
那不是取余,而是要显示一个%,由于%在输出格式字符串中表示数据类型,所有用%%表示一个%必须是紧靠在一起的!
apa,pb都是引用,是指向变量的别名,与该变量类型相同,可以简单地看作同一变量
pa=&(a+1)这一句不对.a是一个变量,a+1是一个数值,无法再通过在前面加“&”获得一个地址.有的编译器可以用&(int)(a+1)的方式强制获得一个地址,但结果不确定,属于极危险的操作.再问:
注意的是*和&这两个符号的意思,*表示读取变量里的值,后边的变量必须是地址变量(指针).&表示读取变量的地址.*pa=&a这样是把a的地址值给地址(指针)pa里的数据赋值.pa=&a意思是把a的地址值
intmain(){inta=10,*pa=&a;int*&ref=pa;printf("%d\n",*ref*8);printf("%d\n",*pa*8);}结果:8080Pressanykeyt
Rnd()这个函数是产生一个随机数,取值范围为[0-1),不包括1,所以此函数的功能是产生0到9的整数,包括9.详细请参考http://baike.baidu.com/view/860298.htm?
*p=a[0],*a,*(a+0),p[0]都是数组的第一个元素1*(p+2),*(a+2),a[2],p[2],都是数组的第三个元素3a和p的差别就是a指针是常量无法做改变指针值,p是变量
我能看懂你的问题我就发现我是个神!你那有很多问题,你上机试试.如果用参数返回值的话,要用指针.#includevoidfun(inta,intb,int*c){*c=a*b;}intmain(){in
C.指向包含5个整形元素的一维数组的指针
max函数接受两个int的整数,并返回比较大的那个.
答案为cpt->x=10;++pt->x=11;再问:为什么pt->x=10,而不是等于20呢再答:pt此时指向c[2]这个数组中的的第一个
随机生成一个0到10的整数并将它转换为字符串类型?再问:不懂再答:你安装一下MSDN,在里面检索一下RND、Int、CStr查看相关资料,再根据四则混合运算法则,由最里面的括号开始研究。
因为a[3][2]是表示数组的第21个元素*(p+20)也是表示第21个元素A,C,D的表示是错误的