gpt4 book ai didi

c - 从函数返回指针结构

转载 作者:太空宇宙 更新时间:2023-11-04 05:26:11 26 4
gpt4 key购买 nike

我正在尝试返回要“切换”的行和列的用户输入(它应该是一个名为 Teaser 的游戏),但我不确定如何返回我想要的值。

我收到的警告是:

warning: incompatible pointer to integer conversion
returning 'move *' from a function with result type 'int' [-Wint-conversion]
typedef struct {
int row;
int column;
} move;

/* Function: getNextMove
* Description: Ask the user for a new move or if the user want to quit
* the game.
* Input: A pointer to a move structure. Coordinates for the next move
* or a signal from the user to end the game.
* Output: Return 0 if the user want to end the game, 1 otherwise.
* Return the coordinates for the next game through the
* structure pointed to.
*/

int getNextMove(move *nextMove) {

printf("Make a move (Row = 0 ends the game)\n");
printf("Row = ");
scanf("%d", &nextMove->row);
if (nextMove->row == 0)
{
return 0;
}
printf("Column = ");
scanf("%d", &nextMove->column);

return nextMove;
}

最佳答案

你犯了一个简单的错误。该函数的文档说:

Output:      Return 0 if the user want to end the game, 1 otherwise.

但是,您返回的是 0nextMove 的值。

nextMove 是一个move*,而不是一个int,因此出现警告。这也是警告如此有用的原因,因为它们指出了您在退回错误商品时所犯的错误。

return nextMove 更改为 return 1

关于c - 从函数返回指针结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26427584/

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