為什么是運行成功并且結果也是對的,卻是輸入錯誤。
#include <stdio.h>
int getIndex(int arr[5],int value)
{
? ? int i;
? ? int index;
? ? for(i=0;i<5;i++)
? ? {
? ? ? ?/* 請完善數組查詢功能 */
? ? ? ? if(arr[i]==value)
? ? ? ? {
? ? ? ? ? ? return i;
? ? ? ? }
? ? ? ? ??
? ? ? ?
? ? ? ?
? ? ? ?
? ? }
? ? return index;
}
int main()
{? ?
? ? int arr[5]={3,12,9,8,6};
? ? 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-06-16
1、在if判斷里面加一個break,循環找到這個值就可以跳出了;
2、找不到的話要給index賦值為-1
#include <stdio.h>
int getIndex(int arr[5],int value)
{
? ? int i;
? ? int index;
? ? for(i=0;i<5;i++)
? ? {
? ? ? ?/* 請完善數組查詢功能 */
? ? ? ?if(arr[i] == value){
? ? ? ? ? ?index = i;
? ? ? ? ? ?return index;
? ? ? ? ? ?break;
? ? ? ?}
? ? ? ?else{
? ? ? ? ? ?index = -1;
? ? ? ?}
? ? ? ? ??
? ? ? ?
? ? }
? ? return index;
}
int main()
{
? ? int arr[5]={3,12,9,8,6};
? ? int value =8;
? ? int index = getIndex(arr, value);? ? ? //這里應該傳什么參數呢?
? ? if(index!=-1)
? ? {
? ? ? ? printf("%d在數組中存在,下標為:%d\n",value,index);? ? ? ? ? ? ?
? ? }
? ? else
? ? {
? ? ? ? printf("%d在數組中不存在。\n",value);? ??
? ? }
? ? return 0;? ??
}