gpt4 book ai didi

c - 负函数表现疯狂

转载 作者:太空宇宙 更新时间:2023-11-04 03:42:08 25 4
gpt4 key购买 nike

这里只是一个从另一个数字中减去一个数字的程序。我得到的差异为 -23882489428948248829...等...您能告诉我为什么吗?

#include <stdio.h>

double minus(double a, double b) { // set up minus function
double difference = a - b;
return difference;
}

int main() //begin program
{
double a; //declare variables in this scope
double b;

printf("Enter the first number:\n");
scanf_s("%f", &a); //get a from user

printf("Enter the second number:\n");
scanf_s("%f", &b); //get b from user

printf("The difference is %f\n", minus(a,b)); //print results
return 0;
}

最佳答案

对于 double a 应该使用 %lf 而不是 %f 因为在 scanf_s/scanf 中当你用 %f 传递 double 时,它将表示为 4 字节实体,double 为 8 字节(在 Visual Studio 中)。

大小可能因编译器实现而异,但大多数上述原因仍然相关。

关于c - 负函数表现疯狂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27612861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com