gpt4 book ai didi

C - 扫描矩阵数组并将其发送到函数?

转载 作者:行者123 更新时间:2023-11-30 15:43:43 24 4
gpt4 key购买 nike

我正在尝试使用 get_move() 来扫描玩家 1 或玩家 2 在具有 xy 坐标的矩阵上的移动。

get_move() 将有两个参数。第一个是两个玩家中哪一个正在采取行动(玩家 1 或玩家 2)。第二个参数是移动,它必须是一个数组。

我不明白的是我应该如何从主函数扫描移动,然后将其作为参数发送给 get_move()。我的意思是 get_move() 将扫描移动,但 get_move() 中的参数之一将是扫描的 xy 坐标数组?!

#include <stdio.h>

void get_move(int player, char input[])
{

printf("Player %d, make your move: ");
scanf("%d %d", &input[][]);

}



int main(void)
{

int player = 1;

get_move(player, ???); // I can't scan the coordinates and insert them as the second parameter, because the function is supposed to make the scan???

getchar();

return 0;
}

最佳答案

抱歉我的粗心。

假设 input[0] 是 x,input[1] 是 y。

所以在主函数中:

     int main(void)
{
int td[2], player = 1;

get_move(player, td);

return 0;
}

get_move(int player, int* td):

     void get_move(int player,  int* td)
{
printf("player...%d\n", player);
scanf("%d %d", &td[0], &td[1]);

printf("x..%d\ny..%d\n", td[0], td[1]);
}
<小时/>
  1. 你应该定义一个结构体,(更好的数据结构可以降低编码的复杂性)

    struct tdim_corrdinate {
    int x;
    int y;
    };

    typedef struct tdim_corrdinate two_dim;
  2. 现在您可以将此结构传递给您的函数 get_move(),例如:

    void get_move(int player, two_dim td)
    {
    printf("Player %d, make your move: ", player);
    scanf("%d %d", &td.x, &td.y);
    // more operations.
    }

    int main(void)
    {
    int player = 1;

    two_dim td;
    get_move(player, td);

    return 0;
    }
  3. 更多,我认为你应该弄清楚参数和参数(或形式参数和实际参数)。

关于C - 扫描矩阵数组并将其发送到函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19772473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com