从键盘输入一个字符串,设计函数fun统计字符串的长度。(不用strlen函数)
时间: 2024-02-12 11:06:15 浏览: 69
好的,可以使用循环来遍历字符串中的每一个字符,直到遇到字符串的结束符'\0'为止,统计字符的个数即可。以下是C语言的示例代码:
```c
int fun(char* str) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
```
其中,`str`为输入的字符串指针,`len`变量用来记录字符个数,循环中不断将`len`自增,直到遇到字符串的结束符为止。最后返回`len`即为字符串的长度。
相关问题
编写一个函数fun,功能是求字符串的长度;在主函数中输入一个字符串,然后调用fun函数完成求串的长度并返回,在主函数中输出fun返回的串长结果。要求用指针完成fun函数,不得使用strlen库函数。
好的,这是一个比较简单的字符串长度求解程序,以下是代码实现:
```c
#include <stdio.h>
// 函数声明
int fun(char *s);
int main()
{
char s[100];
printf("请输入一个字符串:");
scanf("%s", s);
int len = fun(s); // 调用函数
printf("该字符串的长度为:%d\n", len);
return 0;
}
// 函数定义
int fun(char *s)
{
int len = 0;
while (*s != '\0')
{
len++;
s++;
}
return len;
}
```
在上述代码中,我们通过指针 `*s` 来遍历字符串中的每一个字符,当字符不是字符串的结束符 `\0` 时,就将字符串长度加一,最后返回字符串长度。
希望这个程序能对你有所帮助。
请编函数fun,其功能是将一个数字字符串转换成与其面值相同的长整型整数。可调用strlen函数求字符串的长度。例如:在键盘输入字符串2345210,函数返回长整型数2345210。
下面是一个示例实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
long long fun(char *str) {
int len = strlen(str);
long long num = 0;
for (int i = 0; i < len; i++) {
if (str[i] >= '0' && str[i] <= '9') {
num = num * 10 + (str[i] - '0');
} else {
printf("Invalid input!\n");
exit(1);
}
}
return num;
}
int main() {
char str[100];
printf("Please input a number string: ");
scanf("%s", str);
long long num = fun(str);
printf("The integer value is %lld\n", num);
return 0;
}
```
这里的 `fun` 函数接收一个字符串指针,遍历字符串中的每个字符,将其转换成整数并累加到 `num` 变量中。如果遇到非数字字符,则输出错误信息并退出程序。最后返回累加后的整数值。
注意要使用 `long long` 类型来保存整数值,以避免越界问题。
阅读全文