#include <stdio.h>
#define TimeConverter 60
#define TempFormula time * time * 4 / time + 2 - 20
double HoursMinToTime(int hour, int min);
double Temperature(double time);
int main()
{
int hour, min;
double time, temperature;
printf("Hours and minutes: ");
scanf("%d %d", hour, min);
//Segfault HERE
time = HoursMinToTime(hour, min);
temperature = Temperature(time);
printf("After a %lf hour power failure, the frezer will be %lf degrees", time, temperature);
return 0;
}
double HoursMinToTime(int hour, int min)
{
double time = hour * min / TimeConverter;
return time;
}
double Temperature(double time)
{
double temp;
temp = TempFormula;
return temp;
}为什么在scanf之后会有一个分段错误?
发布于 2010-06-29 04:39:09
scanf需要将变量的地址传递给它。将scanf替换为
scanf("%d %d",&hour,&min);你应该可以走了。
发布于 2010-06-29 04:38:56
您需要传递这些变量的地址。一定要特别注意函数签名,因为你可能会得到非常奇怪的结果。另外,打开编译器的所有警告。
scanf("%d %d", &hour, &min); 发布于 2010-06-29 04:39:39
scanf("%d %d", &hour, &min);https://stackoverflow.com/questions/3135946
复制相似问题