Nie_balck 2019-03-23 17:42 采纳率: 100%
浏览 501
已采纳

萌新求解!!!!!vs2017写c语言,函数参数间不能传址吗?

最近在学C语言,也就是粗略学一下,培养一下自己的逻辑思维,毕竟C语言是所有语言基础嘛,用的是vs2017,想提前熟练这个程序员最常用的编译器

有时候也会遇上兼容性问题,但一般csdn上一搜就能解决问题

但是在学到函数参数的时候,问题出现了,在实现函数参数传址的时候,发现实参的址并不能传给实参,请大佬们看一下是编译器问题还是我编写问题,有没有解决方案

举个简单的例子

#include<stdio.h>

float average(int b[10]);
void main()
{
    float q;
    int a[10],p;
    for (p = 0; p <= 9; p++)
    {
        scanf_s("%d", &a[p]);
    }
    q=average(a[10]);
    printf("%f", q);
    system("pause");
}
float average(int b[10])
{
    float ave;
    int i,sum;
    for (i = 0,sum=0; i <= 9; i++)
    {
        sum += b[i];
    }
    ave = sum / 10.0;
    return ave;
}

在运行这个程序的时候

图片说明

a的地址是0x0053fd68

继续运行

图片说明

b还是未赋址状态

另外

图片说明

显示读取访问权限冲突

萌新求解!!!!!

  • 写回答

2条回答

  • Nie_balck 2019-03-23 17:56
    关注

    emmmm
    我逗比了.......
    q=average(a[10]);
    这里错了应该是
    q=average(a);
    啊哈哈哈哈哈让大家看笑话了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料