我已经提示用户在main中输入5个输入并将它们保存到一个名为array的数组中。我在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);
}
}
}
答案 0 :(得分:2)
&cArray[i]
你不需要寻址第i个元素来打印它,你只需要第i个元素
更改
printf("%.2f\n",&cArray[i]);
printf("\n %.2f in Celsius is %.2f in Fahrenheit\n", &temp, &con);
到
printf("%.2f\n",cArray[i]);
printf("\n %.2f in Celsius is %.2f in Fahrenheit\n", temp, con);
与con
相同,printf()
不需要标量变量的地址才能打印它。
答案 1 :(得分:0)
就像Johnny Mopp说你有一个无关的&
,
但是根据你正在处理的数组的大小,你可能只想传递指向函数的指针。