#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