2

我必须在 C 中使用 eclipse。我编写了一个简单的程序,但是我遇到了一个printf不能正常工作的命令的问题。任何想法?这是代码:

#include <stdio.h>
void change(double *x, double *y)
{
 double help = *x;
  *x = *y;
 *y = help;
 return;
}

int main()
{
double x=0, y=0;

printf("please give a value to a  \n ");
scanf("%f",&x);
printf("please give a value to b  \n");
scanf("%f",&y);

printf("x=%.2f\t y=%.2f\n",x,y);
printf("will give \n");
change(&x,&y);
printf("x=%.2f\t y=%.2f\n",x,y);
return 0;
}

所以问题是我没有先得到这个printf

4

1 回答 1

3

你所有的价值观都是double你必须使用的%lf。但是您正在使用%f它调用未定义的行为。

在您的 scanfs 和打印中更改%f为。%lf

于 2012-09-21T10:51:57.217 回答