我不知道为什么这不会编译。任何的想法?
这是非常直接的,我已经花了很长时间看着它,并且无法弄清楚它有什么问题。
#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;
}
错误消息:
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.
答案 0 :(得分:5)
在您的代码中,您需要更改
printf("EUR%.2f = USD%.2f", euro, dollar);
到
,
注意两次更改
CallCancelled
语法的要求添加了double
。%f
应使用Template.addProduct.helpers({
warmerselected: function(){
return Session.get("warmerselected");
}
});
格式说明符打印。使用错误类型的参数会调用printf()
。答案 1 :(得分:2)
你错过了一个逗号。
printf("EUR%.2f = USD%.2f" euro, dollar);
应该是
printf("EUR%.2f = USD%.2f", euro, dollar);