我刚刚开始学习 C 编程,在尝试做几个示例练习时,我发现自己对何时是指定函数类型的最佳场景感到困惑。
如果我的标题有误导性,我提前道歉。
一个这样的例子是获取美元(钞票数量),我想在那里打印结果。虽然我可以使用它,void
但我正在使用,但是在网上查找时,似乎int
应该使用该功能?
我有两个问题:
printf
声明void
,在一般编码下,这样的打印声明应该放在那里还是应该放在里面main()
?void
?我的代码如下:
#include <stdio.h>
void dollars_calculation(int *input_amt, int dollars_value)
{
int change_result = 0;
change_result = (*input_amt / dollars_value);
printf("Number of %3d-dollars:\t%d pcs\n", dollars_value, change_result);
if (change_result)
{
*input_amt = (*input_amt - (dollars_value * change_result));
}
}
int main()
{
int input_amt = 0;
int counter = 0;
int dollars_arr[3] = {100, 50, 10};
printf("Input amount: ");
scanf("%d", &input_amt);
for (counter=0; counter<3; counter++)
{
// Check for the number of denomiations required.
dollars_calculation(&input_amt, dollars_arr[counter]);
}
}
您所称的“函数类型”实际上是您可能希望函数返回的数据类型。
例如,您的dollars_calculation
函数可以返回一个int
,这是您的计算结果,而不是使用指针值来设置外部变量。
或者,您可能希望返回一个可用于指示函数成功或失败的值。这不必是布尔值,但可以是整数甚至枚举类型。
通常,您希望编写函数以使它们完全可重入——这意味着它们可以被多次调用,并且无论程序状态如何,它们的功能都将保持不变。具有 void 返回类型且不带参数的函数通常表示不可重入函数。
printf
语句的使用和位置取决于您的程序结构以及您希望程序执行的操作。使用它们没有正确或错误的地方,但在某些环境中,为了方便起见,您可能希望将它们放在一个模块(代码文件)中,例如以特定方式格式化或定向输出。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句