读取浮点值;输出为0.00000

时间:2014-01-17 15:49:58

标签: 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("%f",&c);

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


    printf("\nIhre Funktion: %f x^ %f\n",&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

知道为什么会这样做或如何避免这种情况?

3 个答案:

答案 0 :(得分:5)

您正在打印变量ck的地址,而不是其内容。你应该这样做:

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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

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