//查找指定字符。输入一个字符,再输入一个以回车符结束的字符串(少于80个字符),在字符串中查找该字符。
//如果找到,则输出该字符在字符串中所对应的最大下标,从下标0开始;否则输出"Not Found"。
请问哪里错了?编译不出来
#include<stdio.h>
int main()
{
char t,k;
char a[80];
int i=0,j;
scanf("%c",&k);
t=getchar();
while((a[i]=getchar())!='\n')
{
i++;
}
a[i]='\0';
j=i-1;
while(j>=0)
{
if(a[j]==k){printf("%d",k);break;}
else{j--;}
}
if(j==-1){printf("Not Found");}
return 0;
}
查找指定字符。输入一个字符,再输入一个以回车符结束的字符串(少于80个字符),在字符串中查找该字符。如果找到,则输出该字符在字符串中所对应的最大下标,从下标0开始;否则输出"Not Found"。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 技术专家团-小桥流水 2022-03-12 11:21关注
if(a[j]==k){printf("%d",k);break;}这一句中,printf显示的应该是j,不是k,改成
if(a[j]==k){printf("%d",j);break;}修改后运行结果如下:
完整代码:
#include<stdio.h> int main() { char t,k; char a[80]; int i=0,j; scanf("%c",&k); t=getchar(); while((a[i]=getchar())!='\n') { i++; } a[i]='\0'; j=i-1; while(j>=0) { if(a[j]==k){printf("%d",j);break;} else{j--;} } if(j==-1){printf("Not Found");} return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 6无用 1
悬赏问题
- ¥15 使用deepspeed训练,发现想要训练的参数没有梯度
- ¥15 寻找一块做为智能割草机的驱动板(标签-stm32|关键词-m3)
- ¥15 信息管理系统的查找和排序
- ¥15 基于STM32,电机驱动模块为L298N,四路运放电磁传感器,三轮智能小车电磁组电磁循迹(两个电机,一个万向轮),怎么用读取的电磁传感器信号表示小车所在的位置
- ¥15 如何解决y_true和y_predict数据类型不匹配的问题(相关搜索:机器学习)
- ¥15 PB中矩阵文本型数据的总计问题。
- ¥40 宿舍管理系统设计(c#)
- ¥15 MATLAB卫星二体模型仿真
- ¥15 怎么让数码管亮的同时让led执行流水灯代码
- ¥20 SAP HANA SQL Script 。如何判断字段值包含某个字符串