无法使数组值起作用

时间:2018-02-21 22:01:32

标签: c arrays function

我已经提示用户在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);
    }
}
}

2 个答案:

答案 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说你有一个无关的&

但是根据你正在处理的数组的大小,你可能只想传递指向函数的指针。