#include<stdio.h>
#include<string.h>
void main()
{
char a[80],c;
int i;
printf("Input a character:");
scanf("%c",&c);
if(1)
{
printf("Input a string:");
for(i=0;i<80;i++)
{
gets(a);
if(a[i]=='\r')break;
}
printf("index=%d",i);
}
else
{
printf("Not Found");
}
}
题目
输入一个字符,再输入一个以回车结束的字符串(少于80 个字符),在字符串中查找该字符。如果找到,则输出该字符在字符串中所对应的最大下标(下标从0 开始);否则输出“Not Found”。
【输入形式】
输入一个字符和一个以回车结束的字符串
【输入输出样例1】(下划线部分表示输入)
Input a character:m
Input a string:programming
index=7
现象是输出结果时没反应
整个不对
if(1)
这里你想写 while (1)
吧
#include <stdio.h>
#include <string.h>
int main() {
char c;
char str[81];
int max_index = -1;
printf("请输入一个字符:");
scanf("%c", &c);
printf("请输入一个字符串(少于80个字符):");
scanf("%s", str);
for (int i = 0; i < strlen(str); i++) {
if (str[i] == c) {
max_index = i;
}
}
if (max_index >= 0) {
printf("%c在字符串中所对应的最大下标为:%d\n", c, max_index);
} else {
printf("Not Found\n");
}
return 0;
}