【发布时间】:2018-12-02 18:17:11
【问题描述】:
我正在编写一个搜索功能。参数是:
(char *array, char to_find)
char search (char *array, char to_find)
{
int counter;
for (counter =0; array[counter]!='\0'; counter++)
{ if (to_find==array[counter])
return 2;
else return 0;
}
}
int main()
{
char *word[100]="woman";
char letter;
scanf("%c" &letter);
if (search(word, letter)==1)
{
printf("match")}
}
我想知道是否也可以修改此代码以返回 2 个值;如果为真,则返回 1 & 计数器。例如我尝试过:
char search (char *array, char to_find)
{
int counter;
for (counter =0; array[counter]!='\0'; counter++)
{ if (to_find==array[counter])
return 2;
else return 0;
}
}
char searchindex(char *array, char to_find)
{ int counter;
for (counter=0; array[counter]!='\0'; counter++)
{
if (to_find==array[counter])
{
return counter;
}
else return -1;
}
int main()
{
char *word[100]="woman";
char letter;
int position;
scanf("%c" &letter);
/**I tried representing the return values as integers**/
int test1= search(word, letter);
int test2= searchindex(word, letter);
if ((test1+test2)>0)
{printf(match);} /**this had errors but i can't seem to find them**/
}
【问题讨论】:
标签: c