#define NUMLEG 7
int Search_type(char leg_type[6][10], int travel_int[6][15], int trip_num);
c = Search_type(type,leg_type, travel_int, trip_num);
if (c == -1)
printf("Destination not found.\n");
else
printf("Destination Found \nDestination Name:%s", travel_name[c]);
int Search_type(char type, char leg_type[6][10], int travel_int[6][15], int trip_num)
{
int i, n;
char target;
getchar();
printf("Please enter travel type you wish to search by:");
scanf("%c", &target);
for (i =0; i <trip_num; i++)
{
for (n = 0; n < travel_int[i][NUMLEG]; n++)
{
if(leg_type[i][n] == target)
{
return i;
}
}
return -1;
}
}
這是從我正在從一個項目中工作的一個函數中翻出來的,出於某種奇怪的原因,我似乎無法讓它正確搜索,我知道它沒有代碼的其餘部分,但這一領域,因爲所有其他功能正常工作。所以我決定從代碼中分解出來並測試它。二維數組中的線性搜索
我似乎無法得到它的後1行搜索:
travel_int [I] [NUMLEG]包含腿的數量 leg_type是我保存每條腿
我的焦希望它搜索leg_type直到找到指定的字符。沒有指針。
EDIT
例如 跳閘#:1 目標名稱:奧斯汀 腿(#1):甲 腿(#2):T
跳閘#:2 目標名稱:佛羅里達 腿(#1)表示:S 腿(#2):F
所以
跳閘編號= 2個
travel_int存儲2個遊和每行具有2個腿
腿型存儲在2種腿類型在行程數
當我把在A或T它打印出奧斯汀像它應該但是當我輸入S或F它返回目的地未找到= /。我在做錯誤的搜索,還是錯誤的打印聲明?或者是我把我的回報-1 ;. (我會忍受的代碼,但它有點長..)
沒有什麼可以從爆炸或代碼解釋。請描述這些數組持有什麼,你想要什麼tosearch和這個目標包含什麼。 – Algorithmist 2011-03-02 17:39:34