何时在 C 中指定函数类型?

k_plan

我刚刚开始学习 C 编程,在尝试做几个示例练习时,我发现自己对何时是指定函数类型的最佳场景感到困惑。

如果我的标题有误导性,我提前道歉。

一个这样的例子是获取美元(钞票数量),我想在那里打印结果。虽然我可以使用它,void我正在使用,但是在网上查找时,似乎int应该使用功能?

我有两个问题:

  1. 最初我有我的printf声明void,在一般编码下,这样的打印声明应该放在那里还是应该放在里面main()
  2. 如上所述,使用我的这个案例,使用 是对还是错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]);
      }

}
克里斯BD

您所称的“函数类型”实际上是您可能希望函数返回的数据类型。

例如,您的dollars_calculation函数可以返回一个int,这是您的计算结果,而不是使用指针值来设置外部变量。

或者,您可能希望返回一个可用于指示函数成功或失败的值。这不必是布尔值,但可以是整数甚至枚举类型。

通常,您希望编写函数以使它们完全可重入——这意味着它们可以被多次调用,并且无论程序状态如何,它们的功能都将保持不变。具有 void 返回类型且不带参数的函数通常表示不可重入函数。

printf语句的使用和位置取决于您的程序结构以及您希望程序执行的操作。使用它们没有正确或错误的地方,但在某些环境中,为了方便起见,您可能希望将它们放在一个模块(代码文件)中,例如以特定方式格式化或定向输出。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章