gpt4 book ai didi

c - 新手问题。如何将指针传递给C中的函数?

转载 作者:行者123 更新时间:2023-12-02 08:55:59 24 4
gpt4 key购买 nike

我刚刚开始学习 C(来自 C# 背景)。对于我的第一个程序,我决定创建一个程序来计算因子。我需要将指针传递给函数,然后更新相应的变量。

我收到错误“findFactors 的类型冲突”,我认为这是因为我没有表明我希望在声明 findFactors 函数时将指针作为参数传递。任何帮助将不胜感激!

#include <stdio.h>
#include <stdlib.h>

int *findFactors(int, int);

int main (int argc, const char * argv[])
{
int numToFind;

do {
printf("Enter a number to find the factors of: ");
scanf("%d", &numToFind);
} while (numToFind > 100);

int factorCount;
findFactors(numToFind, &factorCount);

return 0;
}

int *findFactors(int input, int *numberOfFactors)
{
int *results = malloc(input);
int count = 0;
for (int counter = 2; counter < input; counter++) {
if (input % counter == 0){
results[count] = counter;
count++;
printf("%d is factor number %d\n", counter, count);
}
}

return results;
}

最佳答案

更改声明以匹配定义:

int *findFactors(int, int *);

关于c - 新手问题。如何将指针传递给C中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4849985/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com