计算机大一菜鸟 2023-12-10 21:32 采纳率: 88.2%
浏览 3
已结题

运用指针求和,平均数和偶数个数

想知道为什么b在求完平均数之后变成了5??平均数为5,偶数个数为4,结果为9
指针改变,那么指针原来所指的值不会改变,那指针aver和p都指向b,为什么aver变了b也跟着变了呢?导致后面的p也变了

img


```c++
 
```c++
#include<stdio.h>
int main()
{
    int a[10]={1,2,3,4,5,5,6,7,8,9};
    int *sum,*p,*aver;
    int b=0;
    sum=&b;
    p=&b;
    aver=&b;
    for(int i=0;i<10;i++)
    *sum+=a[i];
    printf("和为%d\n",*sum);
    *aver=*sum/10;
    printf("平均分为%d\n",*aver);
    for(int i=0;i<10;i++)
    {
        if(a[i]%2==0)
        *p=*p+1;
        else continue;
    }
    printf("所有偶数个数为%d\n",*p);
    return 0;
}
 

```

  • 写回答

2条回答 默认 最新

  • Huazie 全栈领域优质创作者 2023-12-10 22:26
    关注

    你这里 sum ,p, aver 指针 都指向 整型 b,也就是 处理的每一个阶段 取这些指针指向的地址上的值都是 相同值。
    *sum 这是 取指针指向的地址上的值, 修改这个值,指针指向的值肯定要修改啊,谁跟你讲不修改的?别搞错了!

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

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月10日
  • 已采纳回答 12月10日
  • 创建了问题 12月10日

悬赏问题

  • ¥15 python爬取b站弹幕可视化词云图问题
  • ¥15 懂Matlab的人,可以帮我看看第四题和第五题应该怎么才能运行出来,或者可以提供一点相关的思路
  • ¥15 cv2.fisheye.stereoCalibrate报错
  • ¥20 求自动化运维语料数据集
  • ¥30 广告检测流量作弊案例 IDEA运行代码报错 连接不上metastore 检测了环境配置没有问题 请求远程解决加VX问细节问题 不加的不回复
  • ¥15 matlab图像融合代码被嫌弃太简单,求改进。第一步改成直接读取三张图片,不读取文件夹
  • ¥20 微处理器原理与应用(私有偿)
  • ¥50 8051单片机关于ADC0809的应用
  • ¥15 有没有能拿来练练手写完发给我
  • ¥15 禁止修改windows系统时间