【发布时间】:2011-01-31 10:48:00
【问题描述】:
我刚刚开始学习 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 ** 然后 int **numberOfFactors