猜数字游戏
//猜数字游戏。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void game() //封装的游戏函数。
{
RAND_MAX;
int ret = rand()%100+1;//rand可以生成范围为0-32767的随机数。
int guess = 0; //模个100后数为0-99,不让猜的数字那么大。
while (1) //这个1不是我输入进来的1,而是只是让while循环开始循环,
//完毕后break出去即可。
{
printf("请输入你猜的数字\n");
scanf("%d", &guess);
if (ret > guess)
printf("猜小了\n");
else if (ret < guess)
printf("猜大了");
else { printf("恭喜你,猜对了。\n"); break; }
}
}
menu() //菜单界面。
{
printf("*******************\n");
printf("****in:1, out:0****\n");
printf("*******************\n");
}
int main() //time的返回类型是time_t(本质上是long long类型)
{ //srand需要的unsigned int类型。
srand((unsigned int)time(NULL));//给srand传递一个变化的值(时间戳) 用此时的时间作为初始化起点。
//使用rand前要调用srand,在srand里面设置、初始化随机数的一个起点。
int intput = 0;
do {
menu();
printf("请选择>:\n");
scanf("%d", &intput);
switch (intput)
{
case 1:
printf("进入游戏\n"); game();
break;
case 0:
printf("退出游戏\n");break;
default:
printf("输入错误\n");
break;
}
} while (intput);
return 0;
}
知识点:
goto函数只能在函数内部走,不能跳到别的函数。
strcmp(input,“我是猪”)==0;则证明input里面放的就是“我是猪”
switch(c—) c只能是整型,char类型本质也是整型。char是字符类型,在储存时是ascll码储存。
指针变量是用来存放地址的。地址大小为32/64bit。变量大小就是32/64bit,4~8字节。
case之后的表达式必须是整形常量表达式。