gpt4 book ai didi

c - 函数应该有原型(prototype)错误

转载 作者:太空宇宙 更新时间:2023-11-04 05:12:59 29 4
gpt4 key购买 nike

我编写了以下 C 程序:

#include<stdio.h>
#include<stdlib.h>
void main()
{
int count;
scanf("%d",&count);
if(count < 1 || count > 100)
{
exit(1);
}
int inputs[10];
for(int i = 0; i < count; i++)
{
scanf("%d",&inputs[i]);
if(inputs[i] < 1 || inputs[i] > 30000)
{
exit(1);
}
}
for(i = 0; i < count; i++)
{
printPrimeFactor(inputs[i], 2);
printf("\n");
}
}

void printPrimeFactor(int number, int factor)
{
if(number % factor == 0)
{
int flag = 1, newNumber;
newNumber = number;
for(int i = 0; i < factor/2; i++)
{
if(factor % i == 0)
{
flag = 0;
break;
}
}
if (flag)
{
printf("%d ", factor);
newNumber = number / factor;
}
factor++;
if(factor <= newNumber / factor)
{
printPrimeFactor(newNumber, factor);
}
}
}

在编译时(在 windows 中,turbo C),我一直收到错误:

Function 'printPrimeFactor' should have a prototype error

我找不到代码有任何问题。可能是什么问题?

最佳答案

你的函数在编译器看到它的定义之前被调用,所以编译器说“我想先看看这个函数的原型(prototype)”。

这意味着您将 void printPrimeFactor(int number, int factor); 放在函数调用之前。

或者,您可以将整个函数(即它的定义)放在调用之前。

关于c - 函数应该有原型(prototype)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25948390/

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