找回密码
 立即注册

QQ登录

只需一步,快速开始

帖子
查看: 3044|回复: 0
收起左侧

strchr函数实现和简单应用

[复制链接]
ID:51090 发表于 2014-9-24 22:35 | 显示全部楼层 |阅读模式

//:Vc++6.0  String  strchr函数
//功能:查找字符串s中首次出现字符c的位置
//参数:str 为目标字符串  c 为要查找的字符
//返回值:str 为找到第一个字符的地址
#include<stdio.h>

const char *strchr (const char * str, int c);

int main(void)
{
char * str = "hello world";
printf("%d\n", strchr(str, 'e') - str);

return 0;
}

const char *strchr (const char * str, int c)
{
if (str == NULL)
{
perror("str");
return NULL;
}

while (*str != '\0')
{
if (*str != (char)c) //将c数值强转为字符型
{
str++;
}
else
return str;
}

return NULL;
}

//在vc++6.0中的运行结果为:1
//注:注意在使用时的返回值
//参数为什么是int型?
//这个是历史原因,很久以前C语言是没有函数原型的,
//差不多就是函数声明只有名字没有参数,并且无论什么
//整数类型的传递到函数之前都会自动转换成int,也就是
//说char, short之类的都会转换成int,于是就定义成int
//。现在的C语言已经不必这样了,但是为了兼容性,这个
//带int函数的原型就保留了下来。里面是会强制转换成char的。
//~


回复

举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表