我是编程的新手,我对阵列有困难。我已经声明了数组但是当我去打印数组的一个元素时,我得到一个非常不同的数字(可能是一个内存地址?)。
#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”。我做错了什么?
答案 0 :(得分:2)
使用:
printf("%d", array[3]);
使用&variable
时,它会返回变量的地址。
答案 1 :(得分:2)
那是因为你正在打印地址:
printf("%d", &array[3]);
//请注意使用&amp;
使用它来打印值:
printf("%d", array[3]);
//没有&amp;使用
答案 2 :(得分:2)
使用&array[3]
你没有重新考虑值array[3]
(你正在使用指针,这是对内存地址的引用,稍后你会知道它)。您只需删除&
:
printf("%d", array[3]);