为什么这个变量的值在for循环内一次变为垃圾?C
为什么n的值在for循环中变为垃圾?我是C语言的新手,我来自C++背景< /P>为什么这个变量的值在for循环内一次变为垃圾?C,c,for-loop,garbage,C,For Loop,Garbage,为什么n的值在for循环中变为垃圾?我是C语言的新手,我来自C++背景< /P> float n = 3.0; printf ("%f\n", n); for (; n <= 99.0; n += 2) printf ("%f\n", &n); for循环条件出错,您忘记添加后缀f: 你喜欢: for (; n <= 99.0f; n += 2) ^ for循环条件出错,您忘记添加后缀f: 你喜欢: for (; n <= 9
float n = 3.0;
printf ("%f\n", n);
for (; n <= 99.0; n += 2)
printf ("%f\n", &n);
for循环条件出错,您忘记添加后缀f: 你喜欢:
for (; n <= 99.0f; n += 2)
^
for循环条件出错,您忘记添加后缀f: 你喜欢:
for (; n <= 99.0f; n += 2)
^
您正在for循环内打印n&n的地址。去掉&您正在for循环中打印n&n的地址。摆脱&您的错误在于如何打印n。您传递的是n的地址,而不是值 在这种情况下,使用浮点运算没有任何好处。虽然它可以工作,但int也可以工作:
int n = 3;
printf ("%d\n", n);
for (; n <= 99; n += 2)
printf ("%d\n", n);
在C语言中,更常见的用法是使用您的错误在于如何打印n。您传递的是n的地址,而不是值 在这种情况下,使用浮点运算没有任何好处。虽然它可以工作,但int也可以工作:
int n = 3;
printf ("%d\n", n);
for (; n <= 99; n += 2)
printf ("%d\n", n);
在C语言中,打印一个自动变量的地址也更常见。删除“与”符号,您将正确打印。从for循环中的printf语句中删除“&”。@zz3599作为答案,您将获得投票。您正在打印自动变量的地址。删除“与”符号,您将正确打印。从for循环中的printf语句中删除“&”。@zz3599作为答案,您将获得投票。