I';我还是C新手,我不知道为什么我的浮点结果是随机的(可能是类型提升规则?)
我相信这与类型提升规则有关,但我不确定,而且考虑到我还是编程新手,我无法想象为什么会这样:I';我还是C新手,我不知道为什么我的浮点结果是随机的(可能是类型提升规则?),c,floating-point,type-conversion,type-promotion,C,Floating Point,Type Conversion,Type Promotion,我相信这与类型提升规则有关,但我不确定,而且考虑到我还是编程新手,我无法想象为什么会这样: #include <stdio.h> int main() { float result; result = function(2.4, 4.9); printf("Test: %.2f\n", result); system("PAUSE"); return 0; } float function(float value1, float val
#include <stdio.h>
int main() {
float result;
result = function(2.4, 4.9);
printf("Test: %.2f\n", result);
system("PAUSE");
return 0;
}
float function(float value1, float value2) {
float calculation = value1 * value2;
return calculation;
}
#包括
int main(){
浮动结果;
结果=功能(2.4,4.9);
printf(“测试:%.2f\n”,结果);
系统(“暂停”);
返回0;
}
浮动功能(浮动值1、浮动值2){
浮动计算=值1*2;
收益计算;
}
会打印出来吗
测试:-858993472.00
我正在输入浮点值,我希望我的计算返回另一个浮点值作为结果,我做错了什么 在调用函数之前声明它。在这里,您需要将定义放在
main()
上方,或者只在main
之前放一个声明
#include <stdio.h>
float function(float value1, float value2) {
float calculation = value1 * value2;
return calculation;
}
int main() {
float result;
result = function(2.4, 4.9);
printf("Test: %.2f\n", result);
return 0;
}
#包括
浮动功能(浮动值1、浮动值2){
浮动计算=值1*2;
收益计算;
}
int main(){
浮动结果;
结果=功能(2.4,4.9);
printf(“测试:%.2f\n”,结果);
返回0;
}
或
#包括
浮动功能(浮动值1、浮动值2);
int main(){
浮动结果;
结果=功能(2.4,4.9);
printf(“测试:%.2f\n”,结果);
返回0;
}
浮动功能(浮动值1、浮动值2){
浮动计算=值1*2;
收益计算;
}
此外,如果您已打开警告,则可能会看到如下消息
。:“函数”未在此作用域中声明
在调用函数之前声明该函数。在这里,您需要将定义放在main()
上方,或者只在main
之前放一个声明
#include <stdio.h>
float function(float value1, float value2) {
float calculation = value1 * value2;
return calculation;
}
int main() {
float result;
result = function(2.4, 4.9);
printf("Test: %.2f\n", result);
return 0;
}
#包括
浮动功能(浮动值1、浮动值2){
浮动计算=值1*2;
收益计算;
}
int main(){
浮动结果;
结果=功能(2.4,4.9);
printf(“测试:%.2f\n”,结果);
返回0;
}
或
#包括
浮动功能(浮动值1、浮动值2);
int main(){
浮动结果;
结果=功能(2.4,4.9);
printf(“测试:%.2f\n”,结果);
返回0;
}
浮动功能(浮动值1、浮动值2){
浮动计算=值1*2;
收益计算;
}
此外,如果您已打开警告,则可能会看到如下消息
。:“函数”未在此范围内声明
您需要上面的函数原型main
。请用警告进行编译。查阅“转发声明”。如果您对语言(特别是C语言或C++)很陌生,它是一个非常重要的概念。您使用的编译器要么使用过时的28年C标准修订,18年前被取消和替换,要么您没有阅读编译器警告(应该考虑错误,并努力地复制到您的问题中)。这其实是我本可以做的,很抱歉,我在学习C的第一周就完全忘记了这么重要的一条规则。首先从谷歌和诊断信息开始!您需要上面的函数原型main
。请用警告进行编译。查阅“转发声明”。如果您对语言(特别是C语言或C++)很陌生,它是一个非常重要的概念。您使用的编译器要么使用过时的28年C标准修订,18年前被取消和替换,要么您没有阅读编译器警告(应该考虑错误,并努力地复制到您的问题中)。这其实是我本可以做的,很抱歉,我在学习C的第一周就完全忘记了这么重要的一条规则。首先从谷歌和诊断信息开始!这应该包括一个解释(“隐式int”)@FelixPalmen.:噢,Oknavermind,被骗者有它;)耶稣啊,这是一个新手犯的错误,谢谢。@FelixPalmen.:太快了……这应该包括一个解释(“隐式int”)@FelixPalmen.:噢,Oknavermind,被骗者有它;)耶稣啊,这是一个多么新的错误,谢谢你。@FelixPalmen:太快了。。。