【发布时间】:2015-04-05 18:34:08
【问题描述】:
我有一个非常基本的问题。我正在尝试重构我的代码,而不是要求输入并扫描 main 中的输入,我想创建一个输入函数来询问问题并在 main 中调用该函数。现在我正在尝试考虑参数,我想我只是不明白它们在这个场景中是如何工作的,现在我把它们留空了,这段代码编译得很好,但是当我运行它时,它所做的只是打印我拥有的东西在 main 中并没有为函数做我想做的事情(我添加了一些打印行作为调试工具,这样我就可以知道我的函数是否被命中。它们都被打印出来,所以函数本身有问题)
#include <stdio.h>
int main(int argc, char *argv[])
{
int sample_function_test();
printf("It reaches this far\n");
printf("Data demonstrator program by Me\n");
int in_decimal();
printf("It reaches this far\n");
int out_decimal();
printf("It reaches this far\n");
/*Called the funtions above gets input and shows output*/
/*Says to do it Twice*/
int in_decimal();
int out_decimal();
return 0;
}
/*Function In Decimal,Reads user inputed number*/
int in_decimal()
{
int dec_input;
printf("Please type an int in decimal:");
scanf("%d",&dec_input);
return dec_input;
}
/*Function Out Decimal, Outputs user inputed number*/
int out_decimal()
{
int dec_input;
printf("Output in decimal:%d\n", dec_input);
return dec_input;
}
int sample_function_test()
{
printf("testing function call");
}
【问题讨论】:
-
您的“out_xxx”函数未显示与“in_xxx”函数关联的值。声明的变量对于每个过程都是局部的,例如 dec_input 是每个方法中的不同变量。您需要将其作为参数传递给您的函数。您也没有捕获函数返回的值。