c - 将值从一个函数传递到C中的另一个函数
问题描述
我试图将一个函数确定的值传递给它之后的另一个函数。本质上:函数 1 确定一个值,比如说 x。然后将 X 传递给另一个专门将 X 显示为文本的函数。它在一个单独的函数中,供其他函数使用,这些函数也可以确定 X 的值。但是,我只得到 0 而不是变量 x。这里有什么问题?
float fahToCel(int userInput)
{
float result = 0;
do
{
printf("\nPlease input your number in Fahrenheit units:");
scanf("%d", &userInput);
} while (result = 0);
result = (float)(((float)5.0f / (float)9.0f) * (float)(userInput - 32));
return result;
}
float celToFah(int userInput){
float result = 0;
do
{
printf("\nPlease input your number in Celcius units:");
scanf("%d", &userInput);
} while (result = 0);
result = (float)(((float)9.0f / (float)5.0f) * (float)(userInput + 32));
return result;
}
float displayResult(float result) {
printf("\nThe equivalent tempature is: %f\n", result);
return result;
}
void inputInformation() {
printf("1. Convert temperature input from the user in degrees Fahrenheit to
degrees Celsius.\n");
printf("2. Convert temperature input from the user in degrees Celsius to
degrees Fahrenheit.\n");
printf("3. Quit.\n ");
}
int main()
{
int menuChoice = 0;
int userInput = 0;
int result = 0;
while (1)
{
inputInformation();
printf("Please make a selection now:");
scanf("%d", &menuChoice);
switch (menuChoice)
{
case 1:
fahToCel(userInput);
displayResult(result);
break;
case 2:
celToFah(userInput);
displayResult(result);
break;
case 3:
return 0;
default:
printf("\nThat is not a choice!\n");
break;
}
}
}
解决方案
您永远不会将结果分配给result
. 像这样改变:
result = fahToCel(userInput);
displayResult(result);
推荐阅读
- ide - 和朱莉一起编程?
- android - FileProvider 无法从 Android 中的存储中检索图像
- javascript - 如何检测 Vue 中已编辑字段中所做的更改?
- database - 在 Slick 中,使用 Table[T] 需要什么导入?
- r - 因子值交叉验证错误
- spring - 如果我们在 @PostConstract 中获得异常,是否授予 @PreDestroy 方法调用
- javascript - 使用 webdriverio 在页面上移动选择器
- windows - 使用 Windows 进行多播
- javascript - 每次添加项目或更新项目时,如何从数据库自动更新 SUM 查询?
- python - 如何使用 Python3 使用用户输入变量更改列表的内容