C 将整数赋值给数组会导致垃圾
声明:C 将整数赋值给数组会导致垃圾,c,arrays,C,Arrays,声明: Feld gespeichert: 915094680Feld gespeichert: 915094684Feld gespeichert: 915094688Feld gespeichert: 915094692S 我似乎不明白为什么。for循环将y增加1,而不是1.321252151或任何值,不管y是整数。为什么我会得到这些奇怪的值?您打印的是地址,而不是值 放下&: int main(void) { int x,y,groesse; int feld[4][5]; // Ini
Feld gespeichert: 915094680Feld gespeichert: 915094684Feld gespeichert: 915094688Feld gespeichert: 915094692S
我似乎不明白为什么。for循环将y增加1,而不是1.321252151或任何值,不管y是整数。为什么我会得到这些奇怪的值?您打印的是地址,而不是值 放下
&
:
int main(void)
{
int x,y,groesse;
int feld[4][5]; // Initialisierung Spielfeld und Schleifenvar
(...)
另外,请确保启用了所有编译器警告,您的代码应该至少产生一个警告(地址与
%d
格式说明符不兼容,后者需要int
)。您打印的是地址,而不是值
放下&
:
int main(void)
{
int x,y,groesse;
int feld[4][5]; // Initialisierung Spielfeld und Schleifenvar
(...)
另外,请确保启用了所有编译器警告,您的代码应该至少产生一个警告(地址与
%d
格式说明符不兼容,该说明符需要int
)。这修复了输出,非常感谢。奇怪的是,gcc的警告被启用,但我没有收到任何警告。@user3182509如果它解决了您的问题,您应该接受一个答案。这修复了输出,非常感谢。奇怪的是,gcc的警告被启用了,但我没有收到任何警告。@user3182509如果它解决了您的问题,您应该接受一个答案。当您要运行所有数组元素时,您还应该从x=0
和y=0
开始。使用int feld[4][5]
您没有初始化数组。当您要运行所有数组元素时,也应该从x=0
和y=0
开始。使用int feld[4][5]代码>您没有初始化数组。
printf("Feld gespeichert: %d", feld[1][y]);