最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

代碼中index=-1是表達(dá)什么?

代碼中index=-1是表達(dá)什么?
把-1換別的數(shù)字也沒(méi)影響。


正在回答

2 回答

當(dāng)然可以不寫(xiě)成「return -1;」,這里只是隨便選用了「-1」這個(gè)數(shù)來(lái)代表數(shù)組中沒(méi)有找到需要查找的值的情況下,函數(shù)getIndex()的返回值。在這種情況下,數(shù)組中需要查找的值,也就沒(méi)有相應(yīng)的下標(biāo)(從0開(kāi)始的正整數(shù)),所以就隨便選了一個(gè)不會(huì)和數(shù)組下標(biāo)混淆的整型值來(lái)代表數(shù)組中不存在查找值的情況。你也可以用「-2」、「-3」等任何一個(gè)不會(huì)與數(shù)組的下標(biāo)混淆的整型值來(lái)表示,然后同時(shí)把main()函數(shù)中的if()判斷的條件也改一下就可以了。

另外,在C語(yǔ)言中,數(shù)組的下標(biāo)可以是負(fù)數(shù),比如a[-1]是指向a[0]的前一個(gè)元素,但是問(wèn)題在于a[-1]到底是什么是無(wú)法預(yù)知確定的,所以是不建議這么用的,因?yàn)镃語(yǔ)言不會(huì)對(duì)數(shù)組是否下標(biāo)越界、溢出等異常進(jìn)行警告或處理,這樣用很可能會(huì)影響系統(tǒng)運(yùn)行,出現(xiàn)不可知的結(jié)果。

所以,只需要記住數(shù)組的下標(biāo)是從0開(kāi)始的正整數(shù),那么負(fù)整數(shù)必然就不是數(shù)組的下標(biāo),所以上面的代碼里就可以用任何一個(gè)負(fù)整數(shù)來(lái)代表沒(méi)有合適的數(shù)組下標(biāo)的情況了。

3 回復(fù) 有任何疑惑可以回復(fù)我~

前面?

#include <stdio.h>

int getIndex(int arr[5],int value)

{

? ? int i;

? ? int index;

? ? for(i=0;i<5;i++)

? ? {

? ? ? ?/* 請(qǐng)完善數(shù)組查詢(xún)功能 */

? ? ? ?if(arr[i]==value)

? ? ? ?{

? ? ? ? ? ?index=i;

? ? ? ? ? ?break;

? ? ? ?}

? ? ? ?else

? ? ? ?{

? ? ? ?index=-1;

? ? ? ?}??

? ? ? ?

? ? ? ?

? ? ? ?

? ? }

? ? return index;

}


int main()

{

? ? int arr[5]={3,12,9,8,6};

? ? int value = 8;

? ? 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;? ??

}

if里面當(dāng)找出所要的東西,返回i;要不就返回-1;所以下面就是當(dāng)返回不是-1.即有返回值時(shí)。所以下面等于-1是邏輯正確代碼,而不用-1,也是正確的只不過(guò)在邏輯上說(shuō)不通

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

代碼中index=-1是表達(dá)什么?

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)