用指针得到输入字符串长度
时间: 2024-06-21 10:02:03 浏览: 105
要用指针获取字符串长度,可以使用C语言的内置函数strlen(),也可以自己编写一个函数实现。下面是一个例子:
```c
#include <stdio.h>
int stringLength(char* str) {
int len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = stringLength(str);
printf("字符串长度为:%d\n", len);
return 0;
}
```
这个程序中,我们使用了一个自己编写的函数stringLength(),该函数接受一个字符指针作为参数,然后通过对指针进行操作来计算字符串的长度,最后返回计算出的长度。
相关问题
用指针方法求一个字符串长度,在main函数中输入字符串并输出长度
好的,可以参考以下代码实现:
```c
#include <stdio.h>
int str_len(char *str);
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = str_len(str);
printf("字符串长度为:%d\n", len);
return 0;
}
int str_len(char *str) {
int len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
```
这里定义了一个 `str_len` 函数,用来计算字符串长度。在 `main` 函数中,首先输入一个字符串,然后调用 `str_len` 函数计算字符串长度并输出。在 `str_len` 函数中,使用指针方法遍历字符串,遇到字符串结束符号 `\0` 时停止遍历并返回字符串长度。
c++输入两个字符串,使用指针将两字符串连接,输入字符串中可能含有空格
可以使用指针将两个字符串连接起来,具体实现如下:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str1[100], str2[100];
char *p1, *p2;
cout << "请输入第一个字符串:";
cin.getline(str1, 100); // 可以输入含有空格的字符串
cout << "请输入第二个字符串:";
cin.getline(str2, 100);
p1 = str1 + strlen(str1); // p1 指向 str1 的末尾
p2 = str2;
while (*p2 != '\0') {
*p1++ = *p2++; // 将 str2 的内容复制到 str1 的末尾
}
*p1 = '\0'; // 加上字符串结束符
cout << "连接后的字符串为:" << str1 << endl;
return 0;
}
```
上述代码中,先定义了两个字符数组 `str1` 和 `str2`,然后定义两个指针 `p1` 和 `p2`,分别指向两个字符串的首地址。接着使用 `strlen` 函数获取 `str1` 的长度,将 `p1` 指向 `str1` 的末尾。然后使用 `while` 循环,将 `str2` 中的内容复制到 `str1` 的末尾。最后加上字符串结束符,输出连接后的字符串。
阅读全文