我写了这个函数来查找int的因子, 当我使用GCC进行编译时,我会收到一条警告,说明"因素类型的冲突类型' "
#include <stdio.h>
#include <stdlib.h>
main(){
factors(18);
}
void factors(int x){
int i = 1;
while (i<=x){
if (i%x == 0)
printf("%d \t", i);
i++;
}
printf("\n");
}
答案 0 :(得分:1)
main()
必须有一个返回类型,默认值为int
所以要更改它,不要忘记最后的return语句。
此外,你必须在main之前放置一个函数原型,所以如果你编译并调用函数它是已知的。或者您必须将函数声明放在main之前。
#include <stdio.h>
#include <stdlib.h>
/*function prototype*/
void factors(int x);
int main() {
//^ return type
factors(18);
return 0;
//^^^^^^^^^ return to end the program 'nicely'
}
void factors(int x) {
int i = 1;
while (i <= x) {
if (i % x == 0)
printf("%d \t", i);
i++;
}
printf("\n");
}