gpt4 book ai didi

控制可能到达非 void 函数的末尾 ERROR

转载 作者:行者123 更新时间:2023-11-30 18:28:10 25 4
gpt4 key购买 nike

我似乎找不到这个功能的问题。我对 C 比较陌生,我试图理解为什么这个函数不能...起作用。我使用 Xcode 并以“控件可能到达非 void 函数的结尾”警告结束。谢谢您的帮助

int call_shooting(char p1[10][10], char p2[10][10], char p3[10][10], char p4[10][10], char hit_miss[2], char data[5][2], int coin, int hit_miss_storage[2][128], int coord_storage[4][128])
{
int j = 0, k = 0, f = 0;

if (coin == 1)
{
while (j == 0)
{
shoot(p1, p2, p3, p4, 1, hit_miss, k, hit_miss_storage, coord_storage);
check_sink(p1, data, 0);

j = check_win_loss(p1);
if (j == 1)
{
system("cls");
print_board(p2, p4);
hit_miss_ships(hit_miss);
sunken_ships(data);
printf("\nYou won!!!\n\n");
return 1;
break;
}
shoot(p1, p2, p3, p4, 0, hit_miss, k, hit_miss_storage, coord_storage);
check_sink(p2, data, 1);

j = check_win_loss(p2);
if (j == 1)
{
system("cls");
print_board(p2, p4);
hit_miss_ships(hit_miss);
sunken_ships(data);
printf("\nYou lost!!!\n\n");
return 0;
break;
}
system("cls");

print_board(p2, p4);
hit_miss_ships(hit_miss);
sunken_ships(data);

k++;
f++;
}
}
else if (coin == 0)
{
while (j == 0)
{
shoot(p1, p2, p3, p4, 0, hit_miss, k, hit_miss_storage, coord_storage);
check_sink(p2, data, 1);


j = check_win_loss(p2);
if (j == 1)
{
system("cls");
print_board(p2, p4);
hit_miss_ships(hit_miss);
sunken_ships(data);
printf("\nYou lost!!!\n\n");
return 0;
break;
}
system("cls");
print_board(p2, p4);
hit_miss_ships(hit_miss);
sunken_ships(data);

shoot(p1, p2, p3, p4, 1, hit_miss, k, hit_miss_storage, coord_storage);
check_sink(p1, data, 0);


j = check_win_loss(p1);
if (j == 1)
{
system("cls");
print_board(p2, p4);
hit_miss_ships(hit_miss);
sunken_ships(data);
printf("\nYou won!!!\n\n");
return 1;
break;
}
system("cls");

print_board(p2, p4);
hit_miss_ships(hit_miss);
sunken_ships(data);

k++;
f++;
}
}
}

最佳答案

如果j!=0,编译器就会离开while循环。如果例如 j=check_win_loss(...) 被分配了 1 以外的任何值,则该方法没有返回值。

典型的 C 解决方案:在方法末尾返回错误代码,例如返回-1

关于控制可能到达非 void 函数的末尾 ERROR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49469198/

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