- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
好的,我有一个 C 语言的代码。它是零和十字。但我不知道我的'sprawdzenie'(检查)。IDE 向我发送控制可能会到达非空函数 [-Wreturn-type] 的结尾。我不知道出了什么问题,但我知道我的代码并不漂亮。
#include <stdio.h>
#include <stdlib.h>
char plansza[3][3];
void wczytaj()
{
printf(" %c |%c | %c\n",plansza[0][0],plansza[0][1],plansza[0][2]);
printf("-------\n");
printf(" %c |%c | %c\n",plansza[1][0],plansza[1][1],plansza[1][2]);
printf("-------\n");
printf(" %c |%c | %c\n",plansza[2][0],plansza[2][1],plansza[2][2]);
}
char sprawdzenie()
{
if((plansza[0][0]&&plansza[0][1]&&plansza[0][2] =='x' )||
(plansza[0][2]&&plansza[1][1]&&plansza[2][0]=='x') ||
(plansza[0][2]&&plansza[1][2]&&plansza[2][2]=='x') ||
(plansza[2][0]&&plansza[2][1]&&plansza[2][2]=='x') ||
(plansza[1][0]&&plansza[1][1]&&plansza[1][2]=='x') ||
(plansza[0][1]&&plansza[1][1]&&plansza[2][1]=='x') ||
(plansza[0][0]&&plansza[1][1]&&plansza[2][2]=='x') ||
(plansza[0][0]&&plansza[1][0]&&plansza[2][0]=='x'))
{
return 1;
}else if((plansza[0][0]&&plansza[0][1]&&plansza[0][2]=='o') ||
(plansza[0][0]&&plansza[1][0]&&plansza[2][0]=='o') ||
(plansza[0][0]&&plansza[1][1]&&plansza[2][2]=='o') ||
(plansza[0][1]&&plansza[1][1]&&plansza[2][1]=='o') ||
(plansza[1][0]&&plansza[1][1]&&plansza[1][2]=='o') ||
(plansza[2][0]&&plansza[2][1]&&plansza[2][2]=='o') ||
(plansza[0][2]&&plansza[1][2]&&plansza[2][2]=='o') ||
(plansza[0][2]&&plansza[1][1]&&plansza[2][0]=='o'))
{
return 2;
}
}
void gracz_x()
{
unsigned int i=3;
unsigned int j=3;
wczytaj();
printf("Podaj wiersz i kolumnę: ");
scanf("%u %u",&i,&j);
if(plansza[i][j]!='o')
plansza[i][j]='x';
else{
printf("Podaj poprawne współrzędne: ");
scanf("%u %u",&i,&j);
plansza[i][j]='x';
}
}
void gracz_o()
{
unsigned int i=3;
unsigned int j=3;
wczytaj();
printf("Podaj wiersz i kolumnę: ");
scanf("%u %u",&i,&j);
if(plansza[i][j]!='x')
plansza[i][j]='o';
else{
printf("Podaj poprawne współrzędne: ");
scanf("%u %u",&i,&j);
plansza[i][j]='o';
}
}
int main()
{
char wynik=0;
int kolejka = 0;
while(wynik==0)
{
if(kolejka==0)
{
gracz_o();
}else{
gracz_x();
}
kolejka=kolejka+1;
wynik=sprawdzenie();
if(kolejka==9){
printf("remis");
break;
}
}
wczytaj();
if(wynik==1)
{
printf("wygryw x\n");
}else if(wynik==2)
{
printf("wygryw o\n");
}
return 0;
}
最佳答案
这意味着您的函数 sprawdzenie
应该返回 char
但它可能不会。您有一个 if
和一个 else if
。如果这两个条件都不满足,该函数将结束并且不返回任何内容。这是不允许的,因为该函数应返回 char
。
在末尾添加默认返回值或添加 else
block 以防止您的函数结束而不返回任何内容。
关于控制可能到达非空函数的结尾 [-Wreturn-type]|,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33983738/
好的,我有一个 C 语言的代码。它是零和十字。但我不知道我的'sprawdzenie'(检查)。IDE 向我发送控制可能会到达非空函数 [-Wreturn-type] 的结尾。我不知道出了什么问题,但
我在功能方面遇到了一个小问题。我相信这可能是因为我没有正确使用它们。我的代码如下: int duration(string fraction) { // X part of the fract
我写了一段代码: int gnrt(vector vect, int n) { std::vector :: iterator it; it = find(vect.begin()
我正在尝试编译 Model 5.0在 OS X 10.8.3 下编译时我收到很多警告和错误。其中一些错误类似于 xwin.c:31523:2: error: non-void function 'sc
我正在尝试创建一个简短的线性搜索算法,但不断收到错误消息控制可能到达非空函数结尾-wreturn-type。我知道该错误与将返回值放在循环之外有关,但是如何从循环中获取返回值呢? 这是代码: bool
这个问题在这里已经有了答案: Returning array declared in function returns address of local variable in C? (4 个答案)
我正在开发一个简单的程序,它将获取给定变量的内存地址,最多 64 位(unsigned long)。目前这是我的代码,但出于某种原因,编译器向我发出警告,说我的方法正在返回局部变量的地址,而这正是我想
根据 GCC 手册,-Wreturn-type 选项通过 -Wall 启用。但是,我找不到在保持 -Wall 的其余部分启用的同时禁用它的正确方法。 考虑这段代码: func() {} 如果在没有警告
我在 gcc ,它给了我一个警告,我忘记了函数中的返回值 Wreturn-type . 但是,我不希望它是一个警告,我希望它是一个实际的编译器错误。有没有办法在 Wreturn-type 时停止编译是
我有这个,当我尝试编译时,终端给我错误;有人可以帮助我吗? int e=0; float func(float x, float y, float z) { e++; if((x*
我在一个编译器上编写了一个调度程序。当我在 Debian 9 Linux 上编译时,一切正常,但是当我尝试在运行 macOS 的 Mac 上编译时,它会显示很多警告和此错误: error: non-v
考虑以下简单代码: struct Base { Base() = default; Base(const Base&); Base(Base&&); }; struct
如果我有一个基于切换 enum class 返回的函数, gcc 发出 warning: control reaches end of non-void function [-Wreturn-type
我是一名开始学习 C 的 Linux 用户,我正在尝试编译我输入的源代码: #include main() { float c,d; c = 10215.3;
Visual Studio 是否有相当于 GCC 的 -Wreturn-type 的警告(或警告)? ? 更具体地说,我正在寻找一个 Visual Studio 警告(或多个警告),它会针对返回类型不
C语言编程 代码: struct battleship makeShip (int size, int pos) { int i, j; int* body; body = (
我有一段代码: int check(int d, char arr[9][9], int rep_arr[45][3]) { int p = findProb(d, arr, rep_arr,
我有一段代码: int check(int d, char arr[9][9], int rep_arr[45][3]) { int p = findProb(d, arr, rep_arr,
错误信息在标题中。有谁知道怎么了?我想清除这个警告。我一无所知。 const std::string loadShaderFromFile(std::string shaderFilePath)
我在编译时遇到这个错误,并在此处检查了其他问题,但没有进一步的进展: funciones.c: In function ‘Lyapunov’: ../funciones.c:55:2: warning
我是一名优秀的程序员,十分优秀!