在使用VisualStudioC++ 2010运行程序时,我似乎遇到了一个非常奇怪的问题。下面是(非常简单的)代码:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

void recieve(double, double);
void simple_pass();

void recieve(double x, double y)
{
    printf("%d %d\n", x, y);
}

void main(int argc , char **argv)
{
    simple_pass();
}

void simple_pass()
{
    recieve (0.25, 0.25);
    recieve (0.25, 0.75);
    recieve (0.75, 0.5);
}

打印值时,x总是0,y是大于10亿的值。
谢谢!

最佳答案

%d表示整数,%lf表示双倍。
现在大多数编译器都会给你一个警告。。。

10-07 16:43