#include <stdio.h>
#include <stdlib.h>
int Strchr(char s[],char ch);
int main()
{
char ch;
int y;
char s[1000];
printf("Please input a string:");
scanf("%s",&s);
printf("Search:");
scanf("%c\n",&ch);
y=Strchr(s,ch);
printf("the first position is:%d\n",y);
system("PAUSE");
return 0;
}
int Strchr(char s[],char ch)
{
int i;
for(i=0;i<=1000;i++)
{
if(s[i]=ch)
{
return i;
}
else if(s[i]!=ch)
{
return -1;
}
}
}
结果总显示0
调试了一下,问题在于字符串输入后没有清stdin流残余数据,故变量ch没有获得正确值。
修改代码和注释如下:
#include <stdio.h>在VC6调试通过,如下图:
供参考。
改了还是不行
老师说还要改
printf("Please input a string:");
scanf("%s",&s);
printf("Search:");
scanf("%c\n",&ch);
我想最后实现的时候
在string后输一串,
在search后输一个,
在position后得结果。
请问大神怎么弄
//看看
#include
#include
int Strchr(char s[],char ch);
int main()
{
char ch;
int y;
char s[1000];
printf("Please input a string:");
gets(s);
printf("Search:");
scanf("%c",&ch);
y=Strchr(s,ch);
printf("the first position is:%d\n",y);
system("PAUSE");
return 0;
}
int Strchr(char s[],char ch)
{
int i;
int flag = -1;
for(i=0;i<1000;i++)
{
if(s[i]==ch)
break;
}
return i;
}
改了还是不行
老师说还要改
printf("Please input a string:");
scanf("%s",&s);
printf("Search:");
scanf("%c\n",&ch);
我想最后实现的时候
在string后输一串,
在search后输一个,
在position后得结果。
请问大神怎么弄
scanf("%c\n",&ch); 吧%c改成%s
改了还是不行
老师说还要改
printf("Please input a string:");
scanf("%s",&s);
printf("Search:");
scanf("%c\n",&ch);
我想最后实现的时候
在string后输一串,
在search后输一个,
在position后得结果。
请问大神怎么弄