这套代码里面为什么会有五个个报错啊_(语言-c语言)

该问题来自社区帖: https://bbs.csdn.net/topics/616536654.为符合问答规范, 该问题经过ChatGPT优化
以下是已优化的问题: ```

int main()

//主函数-程序入口-main函数有且只有一个

{

void menu()

{

printf("-------------------------------");

printf("--------1.pley 2.exit-------");

printf("-------------------------------");

}

void game()

{

int guess = 0;

int ret = rand() % 10 + 1;

printf("%d\n", ret);

while (1)

{

printf("猜数字:>");

scanf("%d", &guess);

if (guess > ret)

{

printf("猜大了\n");

}

else if (guess < ret)

{

printf("猜小了\n");

}

else

{

printf("恭喜你猜对了\n");

break;

}

};

}

srand((unsigend int)time(NULL));

int input = 0;

do{

menu();

printf("请选择>:");

scanf("%d", &input);

switch (input)

{

case 1:

game();//猜数字

break;

case 0:

printf("跳出循环\n");

break;

default:

printf("end\n");

break;

}

} while (input);

getcher();

return 0;

}

```

一些小的细节问题吧,如函数定义需要放到main()函数外面,一些关键字拼写错误,等。

修改如下:


#include <stdio.h> 
#include <stdlib.h>
#include <time.h>

// 函数定义放到main函数外面 
void menu() {
    // 菜单打印 每行后面增加一个换行 
    printf("--------------------------------\n");
    printf("--------1.play     2.exit-------\n");
    printf("--------------------------------\n");
}
void game() {
    int guess = 0;
    int ret = rand() % 10 + 1;
    printf("%d\n", ret);
    while (1) {
        printf("猜数字:>");
        scanf("%d", &guess);
        if (guess > ret) {
            printf("猜大了\n");
        } else if (guess < ret) {
            printf("猜小了\n");
        } else {
            printf("恭喜你猜对了\n");
            break;
        }
    }  // 这里那个分号去除 
}


int main() { //主函数-程序入口-main函数有且只有一个

    // 这里 unsigend  应为  unsigned
    srand((unsigned  int)time(NULL));
    int input = 0;
    do {
        menu();
        printf("请选择>:");
        scanf("%d", &input);
        switch (input) {
            case 1:
                game();//猜数字
                break;
            case 0:
                printf("跳出循环");
                break;
            default:
                printf("end");
                break;
        }
    } while ((input==0)||(input==1));  // do-while条件改为 当input为0或为1 
    
    getchar();
    return 0;
}

img