首 页 行业热点 新车 试驾评测 养车用车 车型库

请问C中有返回数组下标的函数吗

发布网友 发布时间:2022-04-22 07:47

我来回答

4个回答

热心网友 时间:2022-06-18 00:41

没有此函数
可以如下解决:

搜索数组元素,
for(i;i;i)if(cA[i]=='X')return i;//i就是下标
或用指针
for(i;i;i)if(*cA[i]++ == 'X')return i;
或用指针运算
pcA是元素的位置指针
i= (pcA - cA)/ sizeof( (int) or (float) 等数组数据类型) );

热心网友 时间:2022-06-18 00:41

根据数组元素返回该元素在数组中的下标(也就是位置),通常是需要额外的程序代码的。其基本思想是遍历数组,直到找到某个数组元素与待查找的元素匹配。比如你的举例:
char cA[] = {'X', 'Y', 'Z'};
int i;
for(i = 0; i < 3; i++)
if (cA[i] == 'X'}
return i;
如果在数组cA中找到匹配的元素'X',则返回相应的下标。

热心网友 时间:2022-06-18 00:41

strrchr()函数可以
使用:
char string[15];
char *ptr, c = 'r';

strcpy(string, "This is a string");
ptr = strrchr(string, c);
if (ptr)
printf("The character %c is at position: %d\n", c, ptr-string);
else
printf("The character was not found\n");
return 0;

参考资料:Borland C++ Help

热心网友 时间:2022-06-18 00:42

不用指针,不用return,完全菜鸟方法,请看:

main()
{int i,I,n,d[11];
for(i=0,I=10;i<=I;i++)
scanf("%d",&d[i]);
printf("\nInput a number:");
scanf("%d",&n);
for(i=0;i<=I;i++)
{if(d[i]==n) printf("\n%d",i);}}

已经调试。你只要学到了数组,就看的懂。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com