小枫是一个喜欢在网络上玩各种竞猜游戏的有为青年,尤其喜欢那种玩游戏还能拿奖品的游戏项目。
话说有一天,他的狐朋狗友小鹏向他推荐了一款游戏,名为数字猜猜看,只要能猜对数字,就可以赢取iphone13和Watch Series 7这两个重量级的苹果产品,说的小枫心里一阵春心荡漾,迫不及待的找小鹏要了数字猜猜看的网址,登录了上去,开始玩了起来。
玩了一会,小枫感觉有些不对劲,不管怎么猜,都猜不对数字,网站一会提示你猜大了,一会提示你猜小了,就是猜不到真实的数字,一阵不好的感觉在小枫的头脑中滚动。
小枫觉得不能就这样算了,必须要找到问题的根源,于是他就利用自己曾经在蓝翔技校学习的电脑知识,一不小心的潜入了网站的后台,直达核心源码,发现了一个小秘密。。。
void menu() { printf("*******猜数字游戏********n"); printf("*********1.play**********n"); printf("*********0.exit**********n"); printf("*************************n"); } void game() { int guess; int res = rand() % 100 + 1; while (1) { printf("请输入你要猜的数字>"); scanf("%d", &guess); if (res > guess) { printf("大了n"); } else if (res"); scanf("%d", &a); switch (a) { case 1: game(); break; case 0: printf("退出游戏"); break; default: printf("选择错误,重新选择n"); break; } } while (a); }
核心代码很简单,C语言写的一个小程序,使用了一个C语言内时间的库函数生成随机数,然后将随机数控制在100以内,猜100以内的数字,这没有什么问题,但是小枫发现主要的问题是在这个game函数上。
void game() { int guess; int res = rand() % 100 + 1; while (1) { printf("请输入你要猜的数字>"); scanf("%d", &guess); if (res > guess) { printf("大了n"); } else if (res经过仔细的研究和复盘,原来这个函数在if判断上出现了逻辑错误,会误导他人,输入错误的数字,如果这样输入下去,永远也猜不对。
于是小枫就将核心源码进行了修改,将if判断修改为正确的逻辑。
void game() { int guess; int res = rand() % 100 + 1; while (1) { printf("请输入你要猜的数字>"); scanf("%d", &guess); if (guess>res) { printf("大了n"); } else if (guess这样小枫就觉得可以欢天喜地的赢取苹果产品大礼包啦!小枫按照修改后的代码,猜对了数字,向网站提交了收获礼品的家庭地址。开心的和女朋友睡了过去。
然而一等好几天,依然没有收到苹果产品的大礼包,小枫觉得自己遭到了电信诈骗,一怒之下,举报了猜数字网站,还冲着电脑骂了一句,他妈的坏人。
突然,一阵急促的敲门声打乱了小枫的情绪,小枫转过头,大叫了一声,谁呀,能轻点吗?门不需要用钱买呀。
我们是公安局网安大队,请开下门。
小枫一听,眉头一紧,一阵不好的预感涌上心头。。。
(未完待续.......)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)