字符串指针 求字符串大小
时间: 2023-08-10 07:06:34 浏览: 66
要求字符串的大小,可以使用 strlen 函数来计算字符串的长度。strlen 函数的原型在头文件 <string.h> 中声明,用法如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
int size = strlen(str);
printf("String size: %d\n", size);
return 0;
}
```
上述代码中,我们定义了一个字符串变量 `str`,使用 strlen 函数计算出字符串的长度,并将结果赋值给变量 `size`。最后,使用 printf 函数打印出字符串的大小。
输出结果为:
```
String size: 13
```
所以,字符串 "Hello, World!" 的大小为 13。
相关问题
运用指针比较字符串大小
以下是运用指针比较字符串大小的C++代码示例:
```c++
#include <iostream>
using namespace std;
int compare(char *S, char *T) {
while (*S != '\0' && *T != '\0') { // 当两个指针都没有指向字符串结尾时
if (*S > *T) {
return 1;
} else if (*S < *T) {
return -1;
}
S++; // 指针后移
T++;
}
if (*S == '\0' && *T == '\0') { // 如果两个指针都指向字符串结尾
return 0;
} else if (*S == '\0') { // 如果S指向字符串结尾,T没有指向字符串结尾
return -1;
} else { // 如果T指向字符串结尾,S没有指向字符串结尾
return 1;
}
}
int main() {
char S[] = "hello";
char T[] = "world";
int result = compare(S, T);
cout << result << endl; // 输出:-1
return 0;
}
```
用指针比较三个字符串大小
比较三个字符串大小可以使用strcmp()函数,如果要用指针比较,可以按照以下步骤:
1. 定义一个指向字符指针的数组,存储三个字符串。
2. 通过指针比较,找出最小的字符串。
3. 将最小字符串的指针与其他两个字符串的指针逐一比较,找出最小的字符串。
下面是示例代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char *str[3] = {"abc", "defg", "hijk"};
char *min_str = str[0]; //假设第一个字符串最小
for(int i = 1; i < 3; i++)
{
if(strcmp(min_str, str[i]) > 0) //如果当前字符串比最小字符串小
min_str = str[i]; //更新最小字符串指针
}
printf("最小的字符串是:%s\n", min_str);
for(int i = 0; i < 3; i++)
{
if(str[i] != min_str) //排除最小字符串
{
if(strcmp(min_str, str[i]) > 0) //如果当前字符串比最小字符串小
min_str = str[i]; //更新最小字符串指针
}
}
printf("最小的字符串是:%s\n", min_str);
return 0;
}
```
上述代码中,我们先通过循环找出了三个字符串中最小的一个,然后再通过循环比较剩下的两个字符串,找出最小的字符串。