c语言函数指针数组输出 c语言用指针输出数组

c语言 指针输出数组

(*p)[4]是数组指针,每一个指针指向含有4个整形的一维数组;p[1]对于前面的声明来说是指针,而p[1][1]是二维数组,所以不用再加上*取值,若要加上*,

成都网络公司-成都网站建设公司创新互联10余年经验成就非凡,专业从事网站制作、做网站,成都网页设计,成都网页制作,软文推广一元广告等。10余年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:028-86922220,我们期待您的来电!

代码中:printf("%4d",p[i][j]);

可以这样处理:printf("%4d",*(p[i]+j));

C语言打印输出指针数组

指针传递的实质就是传递首地址,要取地址里面的数据就要叫*或者直接指定加[m],比如*argv,和argv[0]意思都是一样的。

C语言用返回指针值的函数输出数组?

因为input()函数创建的数组num[5]作用域在input()函数之内,当input()函数调用结束后,这段内存会被回收,也就是里面的值会变成其他数。修改办法是在堆区创建数组变量手动释放内存!

修改后:

C语言 指针与数组 求程序输出结果

第一题你好象写错了;

#include

iostream

using

namespace

std;

int

main()

{

char

str[]="xyz",*ps;

ps=str;

while(*ps)

ps++;

for(ps--;ps-str=0;ps--)

putchar(*ps);

return

0;

}

ps=str是正确的,因为你的ps在上边定义的是一个指针。那么下边的赋值运算中就应该是地址之间的传递,str作为数组名,它本身就是一个地址。同时ps也是一个指针。结果就是

xyz

第二题的答案是:

4

5

因为作为形式参数的b在传递到你的调用函数f之后虽然做了++操作但是这个b却只是一个副本,不是真正的b,等这个f函数执行完毕之后就会把这个副本释放掉,对主函数的b并不产生影响。要想修改主函数中的数值,在传递参数的时候只有传递指针,就像你的a那样,给函数传递一个指针就可以。

第三题答案是17

这个题就是把这个数组中的所有奇数项想加

第四题

答案是*2*4*

就是把所有偶数的元素都设置成*

第五题就是

2

5

8

10

整个题目就是把a[4]=a[0]+a[1]+a[2]+a[3]+a[4]

c语言中将字符串用指针数组输入输出..

首先确定是字符指针数组还是字符数组指针,前者是一个数组,数组每个元素都是一个字符指针,后者是一个指向字符数组的指针。

若是指向字符数组的指针,则很简单,使用scanf("%s",

str);函数获取输入的字符串,然后使用字符串拷贝函数strcpy(stc,

dest);将获取的字符串拷贝到指定地址的字符指针数组中,拷贝过程中注意检查访问数组是否越界,若越界,则需要在字符数组的最后一个元素赋值为结束符'\0'。

若是赋值

字符指针数组,那么就是对数组中的某一个元素指向的字符数组进行拷贝赋值,其过程与前者相同。


文章标题:c语言函数指针数组输出 c语言用指针输出数组
网站路径:http://myzitong.com/article/hjohog.html