2013-09-10 6 views
0

Итак, мне пришлось написать программу, в которой использовалась концепция Пифагорейских Троиц, где, если бы вы ввели число, это дало бы вам все комбинации, меньшие, чем это число, которое создало бы правильный выход a^2 + b^2 = c^2.Ошибка функции Void?

Не уверен, что если бы я объяснил назначение хорошо, но в основном я понимаю логику или, по крайней мере, я думаю, что мне было интересно, если вы, ребята могли бы помочь мне выяснить, почему я получаю эту ошибку ....

Для последней строки моего кода это дает мне: «warning: control достигает конца не-void функции [-Wreturn-type],« Как ошибка, любая идея, что я делаю неправильно?

#include <stdio.h> 

int main(void){ 

int x = 0, y = 0, z = 0, n; 
int count = 0; 

printf("Please Enter A Positive Integer: \n"); 
scanf("%d", &n); 

while(z <= n){ 
     while(y < z){ 
       while(x < y){ 
         if(x * x + y * y == z * z) 
           printf("%d: \t%d %d %d\n", ++count, x, y, z);  
     x += 1;   } 
     y += 1; } 
     z += 1; 
     } 
} 

ответ

2
int main(void){ 

Ваш заголовок функции указывает на то, что вы хотите, чтобы вернуть Int. Чтобы исправить это, верните номер (0 обычно указывает на нормальное завершение) в конце вашей функции.

Чтобы разбить его немного,

  • int указывает тип возвращаемого значения,
  • main это имя метода, и
  • void указывает на то, что нет никаких параметров для этого метода.
1

Ваша основная функция объявлена ​​для возврата int, но вы ничего не возвращаете.

положить return 0; перед закрывающей скобой main.

int main(void) 
{ 
    // ... code ... 
    return 0; 
}