猿问

我在编写函数factors求正整数的全部因子时,出现了错误,求大佬看看!

#include<stdio.h>
int main()
{int factors(int);
int n;
printf("请输入正整数n:");
scanf("%d",&n);
printf("%d的因子有:",n);
factors(n);
return 0;
}
void factors(int n)
{int i;
for(i=1;i<n;i++)
{if(n%i==0)
printf("%d",i);}
}
--------------------Configuration: 3 - Win32 Debug--------------------
Linking...
3.obj : error LNK2001: unresolved external symbol "int __cdecl factors(int)" (?factors@@YAHH@Z)
Debug/3.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
3.exe - 1 error(s), 0 warning(s)

aluckdog
浏览 397回答 1
1回答

温温酱

函数定义跟前面的函数声明不一致,应同为void。另外有两条建议:1.输出时,在每个数后面加些空白区域或使用定长输出如%6d,使输出有一定间隔。2.计算时可以将循环上限设置成sqrt(n)+1,以减少循环次数,每次输出一对因子。
随时随地看视频慕课网APP
我要回答