用指针编写一个程序,先从键盘上输入一个字符串,然后在该字符串中查找是否有’x’字符。如果有,输出第一

用指针编写一个程序,先从键盘上输入一个字符串,然后在该字符串中查找是否有’x’字符。如果有,输出第一个‘x’字符的位置,如果没有,则输出-1。... 用指针编写一个程序,先从键盘上输入一个字符串,然后在该字符串中查找是否有’x’字符。如果有,输出第一个‘x’字符的位置,如果没有,则输出-1。 展开
 我来答
chongqingliqin
推荐于2018-03-29 · TA获得超过237个赞
知道答主
回答量:20
采纳率:0%
帮助的人:13.9万
展开全部
#include"stdio.h"
void main()
{
int research(char string[]);
char str[80];
int k;
printf("请输入一个字符串:\n");
scanf("%s",str);
k=research(str);
if(k!=-1)printf("第一个x的下表为%d\n",k);
else printf("该字符串中没有x!\n");
}
int research(char string[])
{
int i;
char *p=string;
for(i=0;*(p+i)!='\0';i++)
if(*(p+i)=='x')
{return i;break;}
return -1;
}
运行过了,是正确的!
hdliyiliang
2011-12-29
知道答主
回答量:9
采纳率:0%
帮助的人:12万
展开全部
#include<stdio.h>
main()
{
char a[100];
char *p;
p=&a[0];
printf("输入一个字符串:");
gets(a);
for(;*p!='\0';p++)
{
if(*p=='x')
{
printf("x位于第%d个。\n",p-&a[0]+1);
break;
}
}
if(*p=='\0')
printf("-1\n");
}
(VC++6.0运行)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dufenglei908
2011-12-29 · TA获得超过6372个赞
知道大有可为答主
回答量:1449
采纳率:60%
帮助的人:763万
展开全部
源码如下:
#include <stdio.h>

int searchA(char *s, int c)
{
int i = -1;
char *p = s;
while (p != NULL && *p != '\0' && *p != c) p++;

if (p != '\0') i = (int)(p - s) + 1; // 如果以0为起始,就把+1去掉

return i;
}

int main (int argc, const char * argv[])
{
int s[100] = {0}, index;
scanf("%s", s);
index = searchA(s, 'x');
printf("%d\n", index);

return 0;
}
追问
怎么没有这个……“如果没有X字符,则输出-1”这问的呢……高手……
追答
没有x就输出-1啊,没问题啊,本来就是这么实现的啊,你认为需要怎么样才叫有呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忘至白葬不情必0T
2011-12-29 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
#include "stdio.h"

void main()
{
char str[81];
char *p=str;
gets(str);
while(*p)
{
if(*p=='x')
break;
p++;
}
if(*p=='x')
printf("%d\n",p-str);
else printf("-1\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
祈鹅尚店
2011-12-29 · TA获得超过150个赞
知道小有建树答主
回答量:347
采纳率:100%
帮助的人:157万
展开全部
输入第一...问题没写完吧
追问
补充完了……可以的话,加分都没问题的……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式