malloc分配一个指向char类型的指针,用scanf获取,不用预先分配数组的长度。之后可通过strlen获取该字符串数组的长度。
//charTest.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char *str=(char*)malloc(sizeof(char));
scanf("%s",str);
printf("the str is: %s\n",str);
printf("length: %d\n",strlen(str));
int i=0;
for(i;i<strlen(str);i++)
{
printf("%c ",str[i]);
}
}
输入:abcde
输出:
the str is:abcde
length: 5
a b c d e