用指针编写一个程序,先从键盘上输入一个字符串,然后在该字符串中查找是否有’x’字符。如果有,输出第一
用指针编写一个程序,先从键盘上输入一个字符串,然后在该字符串中查找是否有’x’字符。如果有,输出第一个‘x’字符的位置,如果没有,则输出-1。...
用指针编写一个程序,先从键盘上输入一个字符串,然后在该字符串中查找是否有’x’字符。如果有,输出第一个‘x’字符的位置,如果没有,则输出-1。
展开
5个回答
展开全部
#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;
}
运行过了,是正确的!
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;
}
运行过了,是正确的!
展开全部
#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运行)
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运行)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
源码如下:
#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;
}
#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啊,没问题啊,本来就是这么实现的啊,你认为需要怎么样才叫有呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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");
}
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");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输入第一...问题没写完吧
追问
补充完了……可以的话,加分都没问题的……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询