【问题标题】:Need a push in learning pointers and void functions on C [closed]需要推动 C 上的学习指针和 void 函数 [关闭]
【发布时间】:2013-02-22 01:08:43
【问题描述】:

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

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

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

地点:

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

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

55、8、12、6、-1

-10、4、7、5、-6

-20, 0, 15, 4, -2

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

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

【问题讨论】:

  • 您应该尝试一下,然后针对您遇到的具体问题提出具体问题。

标签: c arrays pointers sum void


【解决方案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;
}

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 2021-02-17
    • 1970-01-01
    • 2013-06-18
    • 2022-06-23
    相关资源
    最近更新 更多