写一个函数用来判定一个字符串是否比另一个字符串更长。要求用到strlen函数,它的原型如下: Size_t strlen(const char *s); 如果这个函数是这样的: int strlonger(char *s,char *t) { return strlen(s)-strlen(t)>0; }
时间: 2024-03-23 19:43:59 浏览: 12
好的,您的问题是如何写一个函数用来判定一个字符串是否比另一个字符串更长,函数的要求是要使用到strlen函数。下面是一个示例函数实现:
```c
#include <stdio.h>
#include <string.h>
int strlonger(char *s, char *t) {
return strlen(s) > strlen(t);
}
int main() {
char str1[] = "Hello";
char str2[] = "World";
printf("str1 is longer than str2: %d\n", strlonger(str1, str2));
return 0;
}
```
这个函数使用了strlen函数来获取字符串s和t的长度,然后比较它们的长度大小,如果s的长度大于t的长度,则返回1,否则返回0。在主函数中,我们定义了两个字符串变量,并使用strlonger函数来比较它们的长度大小,最终输出比较结果。
希望我的回答能够解决您的问题!
相关问题
用c语言:编写一个类似库函数strlen()的函数,求字符串的长度
可以使用指针来实现一个类似库函数`strlen()`的函数,下面是一个示例代码:
```c
#include <stdio.h>
int my_strlen(char *str) {
int len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
int main() {
char str[] = "hello world!";
int len = my_strlen(str);
printf("The length of the string is %d\n", len);
return 0;
}
```
在这个示例代码中,`my_strlen()`函数接收一个指向字符串的指针作为参数,然后在循环中通过判断当前指针所指的字符是否为字符串结束符`\0`来计算字符串的长度。注意,这里使用了指针的自增运算符`++`来移动指针指向下一个字符。
在`main()`函数中,我们定义了一个字符串数组`str`,并将其传递给`my_strlen()`函数来计算字符串的长度。最后,我们使用`printf()`函数将字符串的长度输出到控制台。
自定义一个函数,用该函数求字符串长度 不用strlen
可以自定义一个函数来计算字符串长度,实现代码如下:
```c
#include <stdio.h>
int my_strlen(char s[]) {
int len = 0;
while (s[len] != '\0') {
len++;
}
return len;
}
int main() {
char s[] = "hello";
int len = my_strlen(s);
printf("The length of s is %d\n", len);
return 0;
}
```
自定义的函数名为 `my_strlen()`,接受一个字符串参数 `s[]`,返回字符串的长度。它的实现与前面提到的循环计算字符串长度的方法相同。
在主函数中,调用自定义的 `my_strlen()` 函数,计算字符串 `s` 的长度,并输出结果。输出结果与前面的例子相同。
```
The length of s is 5
```
需要注意的是,这个自定义函数只适用于以空字符结尾的字符串。如果字符串中没有空字符,则无法正确计算字符串的长度。