课程
/后端开发
/C
/C语言入门
请看下面的图,出来的结果怎么会是71呢
还有就是例题解答里为什么在for循环下的if语句中非要加上break?
2018-08-30
源自:C语言入门 6-6
正在回答
我这没有调试软件,如果没出错的话,你运行该程序每次的结果都应该不一样,因为你定义的int index是没有赋初值的。这时候index的值是系统随机给的。只有static静态变量不赋初值的时候变量值是默认0。加break的原因是,第一次出现目标元素时停止循环。与楼上说的类似,如果出现重复元素,得到的结果不一样,这个根据需求来判断。还有就是出现目标元素后就停止循环,对这个程序而言是更好的,因为我们不必要浪费时间循环后面的元素。
补充楼上 int 类型定义时候前面没有修饰的话 默认会是auto auto的默认值可以是任意的值或表达式
你怎么跑出71的等大神说说吧。按道理说,你的这个程序中index没有通过你的for循环得到赋值,所以index应该是定义时候的初值,应该是0。
例题解答中为什么if语句里非要加上break。加上break是为了及时跳出当前循环,查询到对应元素第一次出现的位置。就例题来讲arr[5]={3,12,9,8,6},有没有break没有影响。但是如果这个数组中存在重复元素arr[5]={1.2.3.4.3},如果value=3,不加break语句,那么得出结果会是index=4,即元素3最后一次出现的位置。
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
3 回答运行结果出来的时候,会多出现一组数据 这是为什么?
1 回答如果数组中存在多个要查找的数呢?
3 回答为什么输出结果不会出现41
2 回答为什么是将数组arr1和数组arr2的第一个元素传入函数中?
2 回答为什么数组中某一个元素的值可以在函数中被改变,如果是单一变量就不可以?
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号