问题遇到的现象和发生背景
scanf("%c",&ch)以及getchar()的意思没搞懂
问题相关代码,请勿粘贴截图
//编码及注释:Code_流苏
//头文件定义
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
//主函数
int main()
{
//定义字符类型变量 ch 用于输入需查找的字符
char ch;
//定义字符数组 用于输入存储字符串
char str[81];
//提示
printf("请输入你要在字符串中查找的字符:\n");
//输入要查找的字符
scanf("%c",&ch);
//接收一个字符 此处接收的为回车字符
getchar();
//提示
printf("请输入字符串:\n");
//输入字符串
gets(str);//gets(str)也可以改为scanf("%s",str);
//借助string.h字符串函数库strlen函数求字符串长度
//并定义一个整数类型变量 来存储字符串的长度
int len=strlen(str);
//定义i 用于循环
int i;
//定义flag 用于标志状态
int flag=0;
//循环遍历查找
for(i=len-1;i>=0;i--)
{
//判断字符与字符串中哪个位置对应的字符相等
if(str[i]==ch)
{
flag=1;break;//如果找到了相等的标志为1
}
}
if(flag==0)printf("查找失败\n");//没找到flag仍为0,输出查找失败
else printf("字符所在位置下标为:\n%d\n",i);//找到 flag=1,输出位置
//返回0,代表程序执行结束
return 0;
}