字符串长度可以是变量吗
时间: 2024-03-09 16:44:41 浏览: 62
是的,字符串长度可以是变量。在 C 语言中,可以使用动态内存分配函数 malloc() 来动态分配存储空间,从而实现变长字符串的生成。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(NULL)); // 初始化随机数生成器
int length = rand() % 10 + 1; // 生成 1 到 10 之间的随机数作为字符串长度
char* str = (char*) malloc((length + 1) * sizeof(char)); // 动态分配存储空间
int i;
for (i = 0; i < length; i++) {
str[i] = rand() % 26 + 'a'; // 生成随机小写字母
}
str[length] = '\0'; // 字符串结尾符
printf("Random string with %d characters: %s\n", length, str);
free(str); // 释放动态分配的存储空间
return 0;
}
```
这个程序使用 malloc() 函数动态分配存储空间来存储字符串,从而实现了变长字符串的生成。需要注意的是,在使用完字符串后,需要使用 free() 函数释放动态分配的存储空间,以免造成内存泄漏。
阅读全文