0

我只需要在正确的方向上稍微推动一下。首先,我在理解指针时遇到了麻烦,据我了解,它有点像指向您所指的另一个变量的变量。不过,这对我来说似乎不对:S

其次,我在使用 void 函数时遇到了问题,void 函数不能返回任何东西,现在为了我的作业,我需要使用 void 函数来执行一些稍后将用于打印语句的过程。现在问题是我不能在 void 函数中打印任何东西,我必须在主函数中打印它。我不确定 void 函数如何将数据放回主打印中使用,因为它不会返回任何内容。这是我正在使用的函数的示例。

void fx1(int d[][5], int rows, int* colIndex, int* maxSum);

在哪里:

  • d 是数据数组
  • rows 是 d 中的行数
  • colIndex 是存储总和最大的列的列索引的地址
  • maxSum 是存储最大列和的地址

该函数的目的是获取数组中的一组数字,即:

55、8、12、6、-1

-10、4、7、5、-6

-20, 0, 15, 4, -2

计算并找到总和最大的列。

现在我知道它背后的逻辑,只是我不确定如何返回最终结果,以便它可以在主中使用或打印,也可以在这种情况下使用指针(是的,我必须使用指针,整个点这个任务显然是为了学习指针)。

4

1 回答 1

1

你可以定义一个sum这样的函数:

void sum(int a, int b, int *result) {
    *result = a + b;
}

并在 main 中使用它:

int main() {
    int result;

    sum(1, 5, &result);

    printf("%d\n", result);

    return 0;
}

希望这可以帮助。

于 2013-02-22T01:14:56.247 回答