c语言求教!我的代码哪里错了?
输入一个字符并回车,再输入一个以回车结束的字符串(少于80字符),在字符串中查找该字符。如果找到,则输出该字符串中出现的全部下表位置(从0开始);否则输出NOTFOUND...
输入一个字符并回车,再输入一个以回车结束的字符串(少于80字符),在字符串中查找该字符。如果找到,则输出该字符串中出现的全部下表位置(从0开始);否则输出NOT FOUND#include <stdio.h>
#define MAXLEN 80
int main(void)
{
int flag=0,sub,i=0;
char ch,str[MAXLEN];
printf("请输入一个字符:\n");
ch=getchar();
getchar();
printf("请输入一个以回车结束的字符串:\n");
while((str[i]=getchar())!='\n'&&i<MAXLEN-1);
i++;
str[i]='\0';
flag=0;
for(i=0;str[i]!='\0';i++)
{
if(ch==str[i])
{
flag=1;
sub=i;
}
else continue;
printf("\n");
if(!flag)printf("Not Found\n");
else printf("%d\n",sub);
}
return 0;
} 展开
#define MAXLEN 80
int main(void)
{
int flag=0,sub,i=0;
char ch,str[MAXLEN];
printf("请输入一个字符:\n");
ch=getchar();
getchar();
printf("请输入一个以回车结束的字符串:\n");
while((str[i]=getchar())!='\n'&&i<MAXLEN-1);
i++;
str[i]='\0';
flag=0;
for(i=0;str[i]!='\0';i++)
{
if(ch==str[i])
{
flag=1;
sub=i;
}
else continue;
printf("\n");
if(!flag)printf("Not Found\n");
else printf("%d\n",sub);
}
return 0;
} 展开
1个回答
展开全部
#define MAXLEN 85 //最好大点
int main(void)
{
int flag=0,sub,i=0;
char ch,str[MAXLEN];
printf("请输入一个字符:\n");
ch=getchar();
getchar();
printf("请输入一个以回车结束的字符串:\n");
while((str[i]=getchar())!='\n'&&i<MAXLEN-1) //删掉;
i++;
str[i]='\0';
flag=0;
for(i=0;str[i]!='\0';i++)
{
if(ch==str[i])
{
flag=1;
sub=i;
printf("%d\n",sub); //修改
}
else 信孝continue;
}
if(!flag)printf("Not Found\n"); 隐档//放灶坦乱这
return 0;
}
望采纳,谢谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询