在GCC编译器上使用C查找因子

时间:2015-02-05 01:54:05

标签: c gcc

我写了这个函数来查找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");
} 

1 个答案:

答案 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");

}