我不知道为什么这不会编译.任何的想法?
这是非常直接的,我花了很长时间看着它,无法弄清楚它有什么问题.
#include <stdio.h>
#include <stdlib.h>
void euroToDollar(double euro);
int main() {
double europrice1 = 1.00;
euroToDollar(europrice1);
return 0;
}
void euroToDollar(double euro){
double dollar = euro * 1.11;
printf("EUR%.2d = USD%.2d" ,euro, dollar);
return;
}
Run Code Online (Sandbox Code Playgroud)
错误消息:
Basic.c:24:39: error: format specifies type 'int' but the argument has type
'double' [-Werror,-Wformat]
printf("EUR%.2d = USD%.2d" ,euro, dollar);
~~~~ ^~~~~~
%.2f
2 errors generated.
Run Code Online (Sandbox Code Playgroud)
在您的代码中,您需要更改
printf("EUR%.2d = USD%.2d" euro, dollar);
Run Code Online (Sandbox Code Playgroud)
至
printf("EUR%.2f = USD%.2f", euro, dollar);
Run Code Online (Sandbox Code Playgroud)
注意两个变化