找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3182|回复: 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的。
//~


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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