我的代碼問題
我的代碼是這樣寫的,value值在數(shù)組范圍內(nèi)是么有問題的,可是我輸入的值超出了數(shù)組范圍后,在編譯器打印的結(jié)果卻顯示在“10在數(shù)組中存在,下標(biāo)為35”,而且無論我的value值是多少(數(shù)組外),都是下標(biāo)為35。這是為什么?
#include <stdio.h>
int getIndex(int arr[5],int value)
{
??? int i;
??? int index;
??? for(i=0;i<5;i++)
??? {
?????? /* 請(qǐng)完善數(shù)組查詢功能 */
?????? if(arr[i]==value)
?????? {
?????????? return i;
?????? }
???? ?
??? }
??? return index;
}
int main()
{
??? int arr[5]={3,12,9,8,6};
??? int value = 10;
??? int index = getIndex(arr,value);????? //這里應(yīng)該傳什么參數(shù)呢?
??? if(index!=-1)
??? {
??????? printf("%d在數(shù)組中存在,下標(biāo)為:%d\n",value,index);??????????? ?
??? }
??? else
??? {
??????? printf("%d在數(shù)組中不存在。\n",value);?? ?
??? }
??? return 0;?? ?
}
2015-11-29
#include <stdio.h>
int getIndex(int arr[5],int value)
{
? ? int i;
? ? int index=-1;//改動(dòng)的?
? ? for(i=0;i<5;i++)
? ? {
? ? ? ?/* 請(qǐng)完善數(shù)組查詢功能 */
? ? ? ?if(arr[i]==value)
? ? ? ?{
? ? ? ? ? ?return i;
? ? ?
? ? ? ?}
? ? ??
? ? }
? ? return index;
}
int main()
{
? ? int arr[5]={3,12,9,8,6};
? ? int value = 10;
? ? int index = getIndex(arr,value); ? ? ?//這里應(yīng)該傳什么參數(shù)呢?
? ? if(index!=-1)
? ? {
? ? ? ? printf("%d在數(shù)組中存在,下標(biāo)為:%d\n",value,index); ? ? ? ? ? ??
? ? }
? ? else
? ? {
? ? ? ? printf("%d在數(shù)組中不存在。\n",value); ? ?
? ? }
? ? return 0; ? ?
}
這是我改動(dòng)了的代碼 就是給index賦值為-1我注釋了 改動(dòng) ?你自己找找