接受一行 ascii 字符串(最大字符数为64个) s 和一个 ascii 字符 c 作为输入,并输出 ascii 字符 c 出现在 ascii 字符串 s 的第几个字符中。【半角空格也应该算作一个字符。】
如果 ascii 字符 c 出现多次,则输出最后出现的 ascii 字符 c 的位置。
如果 ascii 字符 c 从未出现,则输出“not exist”。
#include <stdio.h>
int main(void)
{
char s[65];
char c;
int i, cnt = 0;
scanf("%s", s);
scanf(" %c", &c);
for (i = 0; s[i] != '\0'; i++)
{
if (s[i] == c)
cnt = i + 1;
}
if (cnt)
{
printf("%d\n", cnt);
}
else
{
printf("not exist\n");
}
return 0;
}
不太懂怎么把空格也算进字符,求问应该怎么解决,谢谢。
scanf("%s", s);
改为:
gets(s);
就能接收包括空格的字符串了