前言:
对应鹏哥c语言,59集,三子棋上部分,有一些没有搞懂的地方
使用三子棋语句的使用,实在是代码太多了,我也不做多要求了,考试啊,只要我能理解三字棋的意思就可以了
内容:
对应
然后确定了,switch语句好像不是判断语句,他输什么都会进入程序,然后寻找需要输入的内容
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int number = 0;
int input = 0;
do
{
scanf("%d", &input);
输入非0的数字,保证switch语句不会影响while语句
scanf("%d", &number);
//判断输入0, 语句是否会进入程序中执行
switch (number) {
case 1:
printf("选项一\n");
break;
case 0:
printf("选项二\n");
break;
case 3:
printf("选项三\n");
break;
default:
printf("没有匹配的选项");
}
} while (input);
return 0;
}
其实直接输入switch也是会执行输入的0的
语句
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int number = 0;
scanf("%d", &number);
switch (number) {
case 1:
printf("选项一\n");
break;
case 0:
printf("选项二\n");
break;
case 3:
printf("选项三\n");
break;
default:
printf("没有匹配的选项");
}
return 0;
}
最后再看三字棋中的问题
其实我是不知道为啥输入0的时候程序,为啥还会执行,现在知道了
因为switch语句,你输入什么,他都会在进入语句,然后匹配条件进行输出
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void menu()
{
printf("***********************************\n");
printf("***** 1:play 0:exit *********\n");
printf("***********************************\n");
}
void game()
{
}
int main()
{
int input = 0;
do
{
menu();//打印菜单
printf("请选择:>");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
//我疑惑的地方在这里,为啥输入0的时候程序还会执行退出游戏
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误\n");
break;
}
} while (input);
return 0;
}
最后是do while();循环
为啥输入0会退出循环
#include <stduo.h>
{
do
{
//程序第一次会执行一次,然后我输入了0,就执行了switch语句
//然后程序往下走,就是遇到while语句
//然后就将输入的0带入while语句判断,0为假,就跳出循环,非0为真就继续循环
}while();
return 0;
}