0

因此,我必须编写一个使用毕达哥拉斯三概念的程序,如果您输入一个数字,它将为您提供小于该数字的所有组合,从而产生正确的 a^2 + b^2 = c^2 输出。

不确定我是否很好地解释了任务,但基本上我理解逻辑,或者至少我认为我知道我想知道你们是否可以帮助我找出为什么我会收到这个错误......

对于我的代码的最后一行,它给了我“警告:控制到达非无效函数 [-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;
        }
}
4

2 回答 2

2
int main(void){

您的函数标头表明您要返回一个 int。要解决此问题,请在函数末尾返回一个数字(0 通常表示正常终止)。

稍微分解一下,

  • int表示返回类型,
  • main是方法名称,并且
  • void表示该方法没有参数。
于 2013-09-10T19:56:28.120 回答
1

您的 main 函数被声明为返回 an int,但您不返回任何内容。

放在return 0;你的右大括号之前main

int main( void )
{
    // ... code ...
    return 0;
}
于 2013-09-10T19:57:17.843 回答