【发布时间】:2018-02-21 22:01:32
【问题描述】:
我已经提示用户输入 5 个主输入并将它们保存到一个名为数组的数组中。我已经检查了 main 中的数组,它会在输入值时打印出它们。但是,当我将它传递给下面包含的函数时,我得到的输出是数组包含所有 0 值。 我做错了什么?
conversion(float array[], int size)
{
float add = 0.0;
float change, num;
printf("\nThe array is: \n");
for (i=0;i < size;i++)
{
printf("%.2f\n",&array[i]);
}
/*calculate and store the conversion values in a new array*/
for(i=0; i<s; i++)
{
num = array[i];
change = (num*100.50);
for(j=0; j<1; j++)
{
printf("\n %.2f your number is %.2f in float percent\n", &num, &change);
}
}
}
【问题讨论】:
-
printf("%.2f\n",&cArray[i]);删除&。有了它,当您想要传递值时,您正在传递变量的地址。 -
谢谢,这确实让我看到了正确的打印,所以至少现在我知道数组正在被传递。但是,我仍然收到多个“C 中的 0.00 是 F 中的 0.00”,您对此有何建议?
-
那里也有同样的问题。
-
非常感谢,已经解决了。抱歉这个看似简单的问题。我只是在使用 Java 后才开始 C 语言,但打印功能有一些问题。我习惯用一些++打印任何东西。而所有这些 %d/%f/%c 和 & 等等仍然令人困惑。