帮忙解释下 strchr() 这个函数

xmas171688 2004-04-29 12:22:49
char string[15];
char *ptr,c='r';
strcpy(string,"This is a string");
ptr=strchr(string,c);

ptr 得到的值是什么?
...全文
60 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xmas171688 2004-04-29
  • 打赏
  • 举报
回复
for(int i=1;i<20;i++)
{
(i>=10)?j=i-10:j=i;
printf("%d",j);
}

你的这段是什么意思啊,在这里有什么功能
allsword 2004-04-29
  • 打赏
  • 举报
回复
#include <string.h>
#include <stdio.h>

char string[]="This is a string";

void main()
{
int result,j,ch='r';
char *ptr;

for(int i=1;i<20;i++)
{
(i>=10)?j=i-10:j=i;
printf("%d",j);
}
ptr=strchr(string,ch);
result=(int)(ptr-string+1);
printf("\n%s\n",string);
printf("frist r is: %d\n",result);
}
/*
1234567890123456789
This is a string
frist r is: 13
Press any key to continue
*/
allsword 2004-04-29
  • 打赏
  • 举报
回复
(int)(ptr-string+1)就是第一个r是第几个出现的
xmas171688 2004-04-29
  • 打赏
  • 举报
回复
我知道,c的值不是 r 吗。我想知道 ptr 是ring 吗?
allsword 2004-04-29
  • 打赏
  • 举报
回复
strchr(const char *string,int c)
返回指string中第一次出现c的指针,若c未找到,返回NULL.
allsword 2004-04-29
  • 打赏
  • 举报
回复
为了输出
1234567890123456789
瞧瞧第一个r是不是在第13个
allsword 2004-04-29
  • 打赏
  • 举报
回复
为了上面第一行输出的是0-9,0-9
看看上面的程序你就会知到ptr是指向第一个r的,
ptr是放的是第一个r的地址
allsword 2004-04-29
  • 打赏
  • 举报
回复
为了上面第一行输出的是0-9,0-9
看看上面的程序你就会知到ptr是指向第一个r的,
ptr是放的是第一个r的地址
windtyj 2004-04-29
  • 打赏
  • 举报
回复
char strchr(const char *s,int c) 检索并返回字符c在字符串s中第一次出现的位置

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧