#include<stdio.h>voidf(int*q){inti=0;for(;i<5;i++)(*q)++;}main(){inta[5]={1,2,3,4,5},i;f(a);for(i=0;i<5;i++)printf("%d,",a[i]);}...

展开全部
收起
4回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 疯人院门开了

    16人对此回答表示赞同

    首先,void f(int *q)表示这是一个返回值为空的名称叫做f的函数,这个函数有一个参数q,q的数据类型是int*,即是一个整形数据的地址(也就是指针)。*q表示这个地址中存放的数值,循环累加了5次
    然后,main函数中,f(a)中的a的值是数组a的首地址,也就是说a[0]加了5次,故最终的打印结果:,6,2,3,4,5
    p.s.:一共5个逗号
    展开
    16
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 崇凛

    15人对此回答表示赞同

    6,2,3,4,5
    展开
    15
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • MaryLou

    10人对此回答表示赞同

    从main函数开始看,main里面第一行定义一个a数组,一个循环变量i;第二行将数组a当作传入参数给函数f,数组名a退化成指针;执行函数f,执行(*q)++5次,*q是数组首元素的值,自加五次;main中最后是循环输出数组每个元素;
    展开
    10
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Nathan

    9人对此回答表示赞同

    输出结果是 6,2,3,4,5

    这里除了第一个元素改变外,其他元素都不变。
    f(a)
    相当于 f(&a[0]) ,这样q指向的就是a[0],*q=a[0];

    (*q)++; 是q所指向的变量的值++就相当于 a[0]++

    所以,最后结果为 上面写的那个。
    展开
    9
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部