【问题标题】:Void Function Error?无效函数错误?
【发布时间】:2013-09-10 19:54:13
【问题描述】:

所以我必须编写一个使用毕达哥拉斯三概念的程序,如果你输入一个数字,它会给你所有小于那个数字的组合,从而产生正确的 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;
        }
}

【问题讨论】:

    标签: c function void pythagorean


    【解决方案1】:
    int main(void){
    

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

    稍微分解一下,

    • int 表示返回类型,
    • main 是方法名,
    • void 表示该方法没有参数。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2013-10-13
        • 1970-01-01
        • 2020-09-16
        • 2012-08-01
        • 1970-01-01
        • 2018-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多