这显示了一个错误,“子”周围的堆栈已损坏。我想到了所有可能的错误,例如数据类型匹配,传递地址和地址被正确接收,通过scanf正确分配值等,但是错误仍然存在。帮助表示赞赏。
#include <stdio.h>
float totalPeople(float* child, float* adult, float* senior);
void main()
{
float child, adult, senior;
float totalP = totalPeople(&child, &adult, &senior);
return 0;
}
float totalPeople(float* child, float* adult, float* senior)
{
printf("Enter total number of child: ");
scanf("%lf", child);
printf("Enter total number of adult: ");
scanf("%lf", adult);
printf("Enter total number of senior: ");
scanf("%lf", senior);
float totalP = *child + *adult + *senior;
return totalP;
}
您需要使用%f
类型为的格式说明符float
。
%lf
是双重的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句