发布网友
共2个回答
热心网友
不是溢出,是bonus这个变量没有初始化,profit的值是通过scanf用户输入的,但是bonus没有初始化,当profit<=200000时,会执行(bonus)=bonus+(profit-100000.0)*0.075这句代码,因为bonus变量没有初始化,结果就会很奇怪(数值非常大或者其他的情况)。除了这个问题以外scanf和printf函数的调用也有些小问题,profit变量是double类型的,scanf或者printf遇到double类型的应该用%g或者%lf而不是%f,%f是用于float类型变量的,用%f会有编译器警告(能编译成功但是有警告),而且数据也会不准确。追问明白了
热心网友
double数据输入输出时要用%lf格式符。