我的程序在编译时没有返回任何内容,并且找不到错误。看起来代码没问题

问题描述 投票:0回答:1

我的程序确实可以编译,所以没有错误,但肯定有一个错误,因为没有返回任何内容。

我期望返回初始化板的最小值。这些代码在我看来是正确的,但我没有得到我想要的结果。重点是找到

int
初始化板的最小数量

#include<stdio.h>

int find(int board[]);

int main (){
    int board[6] = {6, 2, 6, 99, 0, 2};
    find(board[6]); //call

    printf(" %d",find(board[6]));
    return 0;
}

int find(int board[]){
    int minimum = board[0]; //initialize the first cell as the minimum one

    for(int i = 0; i < 6; i++){
        if(minimum > board[i]) minimum = board[i];
        printf("%d",minimum);
    }

    return minimum;
}
arrays c matrix findbugs
1个回答
0
投票

部分代码需要修改:

  • 当数组声明为
    board[6]
    时,数组的名称为
    board
    而不是
    board[6]
    。因此,当将数组传递给函数时,我们应该使用
    board
    作为参数。
  • 如果我们想使用函数的返回值,我们应该将返回值赋给变量,以便以后使用。

修改后的版本:

#include <stdio.h>

int find(int board[]);

int main() {
    int board[6] = {7, 5, 8, 2, 4, 1};
    int minimum = find(board);
    printf("%d\n", minimum);
    return 0;
}

int find(int board[]){
    int minimum = board[0];
    for (int i = 0; i < 6; i++) {
        printf("%d\n", minimum);
        if (minimum > board[i]) {
            minimum = board[i];
        }
    }
    return minimum;
}
© www.soinside.com 2019 - 2024. All rights reserved.