C语言函数指针解题 c语言指针函数实例

C语言指针函数问题答疑!求解题思路!

因为函数原型是void f(int, int *);

成都创新互联-专业网站定制、快速模板网站建设、高性价比源汇网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式源汇网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖源汇地区。费用合理售后完善,10多年实体公司更值得信赖。

第一个参数是int型,第二个函数是指向int的指针

所以只有D选项f(*p, a);正确

C语言函数指针问题

一、

假设函数 void f(int b[])

(1)有定义int a[15],调用f(a),传递的是首地址。

(2)如果是调用f(a[1])相当于调用f(a+1),传递的还是地址,不是整个数组。

二、和一中说的一样,依然是地址。

三、不是,是第二行的地址,不是第二列,C和fortran不一样,是以行为主序的。例如:

int arr[3][4];

int (*a)[4] = arr;

a指向arr[0],第一行行地址

a+1指向arr[1],第二行行地址

c语言指针函数问题,求解题过程!谢谢!

a是全局变量,所以每调用一次函数这个值就被+1。

s[d] = s[a] 就是赋值语句,相当于改变主函数中的t数组。

总共调用了4次fun函数。

1。s[4] = s[0],此时t数组为{1,3,5,7,1}

2。s[3] = s[1] ,此时t数组为{1,3,5,3,1}

后面的你类似再推导就行了,最后的输出是:13531。

不过这个程序也有点问题,就是k并没有定义。


当前标题:C语言函数指针解题 c语言指针函数实例
本文URL:http://ybzwz.com/article/dopcodp.html