【发布时间】:2019-01-10 10:57:42
【问题描述】:
我实际上应该动态存储string。我已经尝试了以下,
它正在打印所有内容,但只要我的输入中包含空格,它就会终止。谁能解释一下为什么?
还有什么是正确的做法:
int i;
char *a;
a=(char *)malloc(sizeof(char));
scanf("%s",a);
for(i=0;*(arr+i)!='\0';i++)
printf("%c",*(arr+i));
【问题讨论】:
-
malloc(sizeof(char))- 这要分配多少内存? -
您的分配有误。您只为 1 个字符分配空间!
-
请包含整个代码
-
你需要保存的最大字符串长度是多少?
标签: c string pointers dynamic-memory-allocation