Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么这个变量的值在for循环内一次变为垃圾?C_C_For Loop_Garbage - Fatal编程技术网

为什么这个变量的值在for循环内一次变为垃圾?C

为什么这个变量的值在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

为什么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 <= 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作为答案,您将获得投票。