#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;
}
运行过了,是正确的!
#include
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
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"
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");
}