課程
/后端開發
/C
/C語言入門
例子里也沒有break,為什么題里的for就得用break?
2019-03-02
源自:C語言入門 6-6
正在回答
如果不用break;跳出,就得把相同數放在數組最后讓程序自己跳出:
#include <stdio.h>
int getIndex(int arr[4],int value)
{
? ? int i;
? ? int index;
? ? for(i=0;i<4;i++)
? ? {
? ? ? ?/* 請完善數組查詢功能 */
? ? ? ?if(arr[i]==value)? ? ? ?
? ? ? ?{
? ? ? ? ? ?index=i;
? ? ? ? ? ?//break;
? ? ? ?}? ?
? ? ? else
? ? ? {
? ? ? ? ? index=-1;
? ? ? }
? ? ??
? ? }
? ? return index;
}
int main()
? ? int arr[4]={3,12,9,8};
? ? int value = 8;
? ? int index = getIndex(arr , value);? ? ? //這里應該傳什么參數呢?
? ? if(index!=-1)
? ? ? ? printf("%d在數組中存在,下標為:%d\n",value,index);? ? ? ? ? ? ?
? ? else
? ? ? ? printf("%d在數組中不存在。\n",value);? ??
? ? return 0;? ??
因為例子里直接返回的i或者-1,其中return=-1是在for循環外的,即要么在循環結束前就返回了一個i,要不循環完后沒有滿足條件返回-1,例題返回的index ,是在循環里的,所以我們要先給獻給index賦值,break的作用是跳出這個循環,如果不要break那么返回的永遠是-1,而用break即如果存在arr【i】=value,就給index賦值為i,也不需要在檢錄其它的了
慕數據8950116
gadada 回復 慕數據8950116
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
3 回答break與continue的區別
2 回答==與=的區別
3 回答=與==的區別
2 回答自定義函數用return 0與不用有什么區別?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-03-15
如果不用break;跳出,就得把相同數放在數組最后讓程序自己跳出:
#include <stdio.h>
int getIndex(int arr[4],int value)
{
? ? int i;
? ? int index;
? ? for(i=0;i<4;i++)
? ? {
? ? ? ?/* 請完善數組查詢功能 */
? ? ? ?if(arr[i]==value)? ? ? ?
? ? ? ?{
? ? ? ? ? ?index=i;
? ? ? ? ? ?//break;
? ? ? ?}? ?
? ? ? else
? ? ? {
? ? ? ? ? index=-1;
? ? ? }
? ? ??
? ? }
? ? return index;
}
int main()
{
? ? int arr[4]={3,12,9,8};
? ? int value = 8;
? ? int index = getIndex(arr , value);? ? ? //這里應該傳什么參數呢?
? ? if(index!=-1)
? ? {
? ? ? ? printf("%d在數組中存在,下標為:%d\n",value,index);? ? ? ? ? ? ?
? ? }
? ? else
? ? {
? ? ? ? printf("%d在數組中不存在。\n",value);? ??
? ? }
? ? return 0;? ??
}
2019-03-02
因為例子里直接返回的i或者-1,其中return=-1是在for循環外的,即要么在循環結束前就返回了一個i,要不循環完后沒有滿足條件返回-1,例題返回的index ,是在循環里的,所以我們要先給獻給index賦值,break的作用是跳出這個循環,如果不要break那么返回的永遠是-1,而用break即如果存在arr【i】=value,就給index賦值為i,也不需要在檢錄其它的了