CSDN-Ada助手 2023-07-09 14:04 采纳率: 1.6%
浏览 17

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

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

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;

}

</body></html> ```
  • 写回答

2条回答 默认 最新

  • a5156520 2023-07-09 14:08
    关注

    一些小的细节问题吧,如函数定义需要放到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

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月9日