C语言中 while ((str[i]=getchar())!='\n')没用
C语言中while((str[i]=getchar())!='\n')没用如图,run的时候,输入m并打下空格后,直接就是这样了,不知道为什么while那里本来该有的字符...
C语言中 while ((str[i]=getchar())!='\n')没用如图,run的时候,输入m并打下空格后,直接就是这样了,不知道为什么while那里本来该有的字符数组的输入没用了。
我试过,如果'n'换成别的字符都有用,为什么'n'没有用,求教大神,谢谢了。 展开
我试过,如果'n'换成别的字符都有用,为什么'n'没有用,求教大神,谢谢了。 展开
4个回答
展开全部
1、要先输入字符串,再输入字符。
2、i对应各个字符,str[i]='\0'就把最后一个字符去掉了,如果恰恰是要找的字符怎么办?
3、index=i了,那么,idex还怎么等于i+1?
逻辑错误太多,程序混乱,不是换某个字符就能解决问题的,是巧合倒有可能。
2、i对应各个字符,str[i]='\0'就把最后一个字符去掉了,如果恰恰是要找的字符怎么办?
3、index=i了,那么,idex还怎么等于i+1?
逻辑错误太多,程序混乱,不是换某个字符就能解决问题的,是巧合倒有可能。
更多追问追答
追问
不不不不不
你看我旁边运行的结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
int i = 0, index = 0;
char ch;
printf("Input a character: ");
ch = getchar();
getchar(); // 过滤掉你输入ch时输入的回车字符
char str[80];
printf("Input a string: ");
while( (str[i]=getchar()) != '\n')
i++;
str[i] = '\0';
for(i = 0; str[i]!='\0'; ++i)
{
if(str[i] == ch)
{
printf("index = %d\n", i+1);
break;
}
}
if(str[i]=='\0')
printf("Not Found!\n");
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
卧槽好深奥啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询