编写一函数strend(s, t),如果字符串t出现在字符串s的尾部,该函数返回Yes,否则返回No。要求在main函数中测试该函数:先从键盘输入字符串s、t(不超过100个字符),然后调用该函数,并输出返回的结果。
时间: 2024-01-22 15:19:53 浏览: 76
javascript函数库
3星 · 编辑精心推荐
下面是实现该函数的代码:
```c
#include <stdio.h>
#include <string.h>
int strend(char s[], char t[]) {
int len_s = strlen(s);
int len_t = strlen(t);
if (len_t > len_s) {
return 0;
}
return strcmp(s + len_s - len_t, t) == 0;
}
int main() {
char s[101], t[101];
printf("请输入字符串s:");
scanf("%s", s);
printf("请输入字符串t:");
scanf("%s", t);
if (strend(s, t)) {
printf("Yes\n");
} else {
printf("No\n");
}
return 0;
}
```
在该程序中,我们定义了一个函数 `strend`,它接受两个字符串参数 `s` 和 `t`,返回一个整数。在函数内部,我们首先获取字符串 `s` 和 `t` 的长度,如果 `t` 的长度比 `s` 的长度还要长,显然不能满足 `t` 在 `s` 的尾部出现的条件,此时返回0。否则,我们使用 `strcmp` 函数比较字符串 `s` 中从末尾开始与字符串 `t` 相同长度的子串和字符串 `t` 是否相等,如果相等,则 `t` 在 `s` 的尾部出现,返回1;否则,返回0。
在 `main` 函数中,我们首先从键盘输入字符串 `s` 和 `t`,然后调用 `strend` 函数判断 `t` 是否在 `s` 的尾部出现,并根据返回结果输出相应的信息。
阅读全文