c语言find函数的用法详解
成都创新互联公司是一家专注于成都做网站、网站设计与策划设计,类乌齐网站建设哪家好?成都创新互联公司做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:类乌齐等地区。类乌齐做网站价格咨询:028-86922220
C语言之find()函数
find函数用于查找数组中的某一个指定元素的位置。
比如:有一个数组[0, 0, 5, 4, 4];
问:元素5的在什么位置,find函数 返回值 为 2;
find (数组名 + 起始查找元素的位置, 数组名 + 结束查找的元素位置, 想要查找的元素)
直接上代码:
#include iostream
#include vector
#include algorithm//注意要包含该头文件
using namespace std;
int main()
{
int nums[] = { 3, 1, 4, 1, 5, 9 };
int num_to_find = 5;
int start = 0;
int end = 5;
int* result = find( nums + start, nums + end, num_to_find );
if( result == nums + end )
{
cout "Did not find any number matching " num_to_find endl;
}
else
{
cout "Found a matching number: " *result endl;
}
return 0;
}
首先,指针默认只有一个地址的长度的空间,存不了那么多的字符。
其次,传值和传地址一塌糊涂,完全就是乱写么。
scanf的第二个参数是地址,如果本身不是指针则需要取址符。
我给你重写了算了
#includestdio.h
int Retrieve(int array[],int length,int x);/*形参x直接传值就可以了*/
int main()
{
int *a,x;
int length,i;
scanf("%d",length);
a = (int)malloc(sizeof(int)*length); /*申请一个内存空间用来存放数据,或者直接用一个大数组也可以*/
#includestdio.h
int main()
{
int a[5];
int i,max,min;
printf("input number:\n");
for(i=0;i5;i++)
scanf("%d",a[i]);
max=a[0];
min=a[0];
for(i=0;i5;i++){
if(a[i]max)
max=a[i];
}
for(i=0;i5;i++){
if(a[i]min)
min=a[i];
}
for(i=0;i5;i++){
printf("%d",a[i]);
printf(" ");
}
printf("\n");
printf("最大值为%d\n",max);
printf("最小值为%d\n",min);
return 0;
}
C语言中的标准函数库中的strchr()函数可以实现查找字符串中的某个字符。
C语言strchr()函数:
查找某字符在字符串中首次出现的位置
头文件:#include string.h
strchr() 用来查找某字符在字符串中首次出现的位置,其原型为:
char * strchr (const char *str, int c);
【参数】str 为要查找的字符串,c 为要查找的字符。
strchr() 将会找出 str 字符串中第一次出现的字符 c 的地址,然后将该地址返回。
注意:字符串 str 的结束标志 NUL 也会被纳入检索范围,所以 str 的组后一个字符也可以被定位。
【返回值】如果找到指定的字符则返回该字符所在地址,否则返回 NULL。
返回的地址是字符串在内存中随机分配的地址再加上你所搜索的字符在字符串位置。设字符在字符串中首次出现的位置为 i,那么返回的地址可以理解为 str + i。
提示:如果希望查找某字符在字符串中最后一次出现的位置,可以使用 strrchr() 函数。