6-4 字符串长度 - C/C++ 指针及引用 分数 10 作者 海洋饼干叔叔 单位 重庆大学 strLength()函数用于统计指针s所指向的以0结尾的字符串的长度(字符个数),请实现该函数,使得下述程序可以正确运行。注意不能使用原生的strlen()函数。 函数接口定义: unsigned int strLength(const char* s); 裁判测试程序样例: #include <stdio.h> //在此处定义strLength()函数 int main() { char s[1024]; gets(s); printf("%d",strLength(s)); return 0; } 输入样例: spring festival
时间: 2024-03-20 20:38:47 浏览: 12
以下是实现strLength()函数的代码:
```
unsigned int strLength(const char* s) {
unsigned int len = 0;
while (*s != '\0') {
len++;
s++;
}
return len;
}
```
该函数使用指针s遍历字符串,每遍历一个字符就将长度加1,直到遍历到字符串结尾的空字符'\0'为止。最后返回计算得到的字符串长度。需要注意的是,函数返回值的类型应该为无符号整数unsigned int,因为字符串长度必须为非负整数。
相关问题
6-4 字符串长度 - C/C++ 指针及引用 分数 10 作者 海洋饼干叔叔 单位 重庆大学 strLength()函数用于统计指针s所指向的以0结尾的字符串的长度(字符个数),请实现该函数,使得下述程序可以正确运行。注意不能使用原生的strlen()函数。
可以使用指针遍历字符串,当指针指向的字符为'\0'时,字符串就结束了,此时指针所指向的位置减去字符串开头的位置就是字符串的长度。
代码实现如下:
```c++
#include <iostream>
using namespace std;
int strLength(char* s){
int len = 0;
while(*s != '\0'){
len++;
s++;
}
return len;
}
int main(){
char str[] = "hello world";
int len = strLength(str);
cout << "The length of string is: " << len << endl;
return 0;
}
```
输出结果为:The length of string is: 11
字符串长度 - C/C++ 指针及引用
好的,下面是使用 C/C++ 指针和引用实现字符串长度的代码:
使用指针:
```c
#include <stdio.h>
int str_len(char* str){
int len = 0;
while(*str != '\0'){
len++;
str++;
}
return len;
}
int main(){
char str[100];
printf("请输入字符串:\n");
scanf("%s", str);
printf("字符串长度为:%d\n", str_len(str));
return 0;
}
```
在 `str_len` 函数中,使用指针遍历字符串中的每一个字符,直到遇到字符串的结束符 `\0`,此时字符串的长度即为遍历的次数。
使用引用:
```c++
#include <iostream>
#include <string>
using namespace std;
int str_len(string& str){
return str.length();
}
int main(){
string str;
cout << "请输入字符串:" << endl;
cin >> str;
cout << "字符串长度为:" << str_len(str) << endl;
return 0;
}
```
在 C++ 中,可以使用 `string` 类型来表示字符串。在 `str_len` 函数中,使用引用来传递字符串,然后调用 `length` 函数获取字符串的长度。