黑马程序员技术交流社区

标题: 求教各位 结束循环的问题 [打印本页]

作者: neobug    时间: 2015-7-3 15:37
标题: 求教各位 结束循环的问题
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(int argc, const char * argv[]) {
  4. //    定义变量
  5.    
  6.     int computer;
  7.     int player = 0;
  8.     int YiGong = 10;
  9.     int ShengYu = 0;
  10.     int DangQian = 0;
  11.     int flag = 1;
  12. //    电脑输入随机数
  13.     computer = arc4random_uniform(100)+1;
  14.    
  15. //    玩家输入随机数
  16.     printf("请输入1-100内的数字\n");
  17.    
  18.    
  19. //    循环 并 比较电脑 玩家数字大小
  20.     while (flag) {
  21.         scanf("%d",&player);
  22.         
  23.         if (player > computer) {
  24.             printf("你猜大了\n");
  25.         }else if (player < computer) {
  26.             printf("你猜小了\n");
  27.         }else{
  28.             printf("猜对了");
  29.             break ;
  30.         }
  31.     }
  32.    
  33.     return 0;
  34. }
复制代码

作者: neobug    时间: 2015-7-3 15:38
第29 行   我 写   break;  的结果 和  写成  flag = 0;的结果好像是一样
  这样 有什么区别吗?   
作者: 4B青年    时间: 2015-7-3 17:32
浪费了个变量flag
作者: 丁铭检    时间: 2015-7-3 18:02
一个是通过关键字结束循环,一个是通过自行定义的变量来结束循环,结果都是一样的,。。
作者: neobug    时间: 2015-7-3 20:56
刘晓良 发表于 2015-7-3 16:29
结果没有区别,flag=0,条件为假,不再循环;break直接跳出当前循环。应该会在有些情况执行的时候会不一样 ...

哦这样啊 谢谢
作者: neobug    时间: 2015-7-3 20:57
4B青年 发表于 2015-7-3 17:32
浪费了个变量flag

基础视频里有这变量  我试试 break 是不是也能结束 循环了
作者: neobug    时间: 2015-7-3 20:59
丁铭检 发表于 2015-7-3 18:02
一个是通过关键字结束循环,一个是通过自行定义的变量来结束循环,结果都是一样的,。。 ...

恩恩 了解了!
作者: pp584995727    时间: 2015-7-4 06:56
用break和return 0;
作者: venn    时间: 2015-7-4 07:52
结果一样,过程不一样,,,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2