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);