c存储不定长度字符并打印
时间: 2024-01-27 17:13:07 浏览: 52
在C语言中,可以使用字符指针和动态内存分配来存储不定长度的字符,然后使用printf函数打印输出。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char *str;
int len;
printf("Enter the length of the string: ");
scanf("%d", &len);
str = (char*) malloc(len * sizeof(char)); // 分配内存空间
if (str == NULL) { // 判断内存是否分配成功
printf("Memory allocation failed.\n");
return 1;
}
printf("Enter the string: ");
scanf(" ");
fgets(str, len, stdin); // 读入字符串
printf("The string is: %s\n", str);
free(str); // 释放内存空间
return 0;
}
```
在这个示例代码中,首先通过scanf函数输入字符串的长度,然后使用malloc函数动态分配内存空间,接着使用fgets函数读入字符串,并使用printf函数打印输出。最后使用free函数释放内存空间。需要注意的是,在使用fgets函数读入字符串时,需要使用scanf函数读入一个空格字符,以清除输入缓冲区中的回车符。