小鸟游菜花 2022-02-17 10:07 采纳率: 93.9%
浏览 42
已结题

这是什么原因啊,可以说一下理由吗

img


#include<stdio.h>
int b[100];
int main()
{
    int a,j=0,i;
    while(1)
    {
        scanf("%d",&a);
        if(a==0)
        break;
        b[j]=a;
        j++;
    }
    for(i=j-1;i>=0;i--)
    {
        printf("%d",&b[i]);
    }
    return 0;
}

img

  • 写回答

3条回答 默认 最新

  • 谛凌 2022-02-17 10:28
    关注

    printf("%d",&b[i]);
    17行 应该去掉取地址符 & :
    printf("%d ",b[i]);
    原因:你写&b[i]是取地址,输出的是 b[i] 的地址,而不是 b[i] 的值
    你可以看看输出4223064 4223060 4223056 这都是 b[i] 的地址

    img

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

报告相同问题?

问题事件

  • 系统已结题 2月25日
  • 已采纳回答 2月17日
  • 创建了问题 2月17日

悬赏问题

  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 MATLAB中streamslice问题
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序