【问题标题】:Populating an Array in C在 C 中填充数组
【发布时间】:2017-05-22 05:31:18
【问题描述】:

我是编程新手,对数组有困难。我已经声明了数组,但是当我去打印数组的一个元素时,我得到一个非常不同的数字(可能是内存地址?)。

#include <stdio.h>

int main()
{
    int array[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

    printf("%d", &array[3]);
    return 0
}

然后它打印 6356748 而不是“3”。我做错了什么?

【问题讨论】:

  • 如果其中一个答案有用,请验证它

标签: c arrays memory


【解决方案1】:

用途:

printf("%d", array[3]);

当你使用&amp;variable 时,它返回变量的地址。

【讨论】:

    【解决方案2】:

    那是因为你在打印地址:

    printf("%d", &amp;array[3]); //注意&的使用

    使用它来打印值:

    printf("%d", array[3]); // 没有 & 使用

    【讨论】:

      【解决方案3】:

      使用&amp;array[3] 你不是在引用array[3] 的值(你使用的是指针,即对内存地址的引用,稍后你会知道)。您只需删除 &amp;

      printf("%d", array[3]);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-28
        • 2020-03-21
        • 2016-02-14
        相关资源
        最近更新 更多