C 读取浮点值;产量为0.00000

C 读取浮点值;产量为0.00000,c,scanf,C,Scanf,问题很简单,下面是输入/输出日志: int potenz(float x[1001], float y[1001]) { int i; float c=0.0f,k=0.0f; system("clear"); printf("Wahl der Potenzfunktion der Form c * x^k\n"); printf("Bitte geben sie den Koeffizienten c ein: "); scanf("

问题很简单,下面是输入/输出日志:

int potenz(float x[1001], float y[1001])
{
    int i;
    float c=0.0f,k=0.0f; 


    system("clear"); 

    printf("Wahl der Potenzfunktion der Form c * x^k\n");

    printf("Bitte geben sie den Koeffizienten c ein: ");
    scanf("%f",&c);

    printf("\nBitte geben sie den Exponenten k ein: ");
    scanf("%f",&k);


    printf("\nIhre Funktion: %f x^ %f\n",&c,&k);

}

你知道它为什么这样做或者如何避免吗?

你打印的是变量c和k的地址,而不是它们的内容。您应该这样做:

Bitte geben sie den Koeffizienten c ein: 23.512

Bitte geben sie den Exponenten k ein: 5.1

Ihre Funktion: 0.000000 x^ 0.000000

对于printf,请指定变量,而不是变量的地址:

printf("\nIhre Funktion: %f x^ %f\n",c,k);

您正在输出浮点的地址,而不是浮点本身。尝试将其更改为:

  printf("\nIhre Funktion: %f x^ %f\n",c,k);
                                       ^^^^

您不应该将c和k的地址传递给printf。只需传递没有运算符地址的值。不相关,但为什么要传递y和x作为参数。它甚至没有在函数中使用!
printf("\nIhre Funktion: %f x^ %f\n",c,k);