C语言中普通数组在定义的时候不给出数组的具体长度,那么计算机是在运行期间为其分配长度的吗?
学到数组的时候,接触到了变长数组的概念,这时候我就有疑问:就是说例如:charstr[]={0};printf("Inputastring:");gets(str);pu...
学到数组的时候,接触到了变长数组的概念,这时候我就有疑问:
就是说例如:char str[]={0};
printf("Input a string: ");
gets(str);
puts(str);
与
1. #include <stdio.h>
2. int main()
3. {
4. int n;
5. printf("Input string length: ");
6. scanf("%d", &n);
7. scanf("%*[^\n]"); scanf("%*c"); //清空输入缓冲区
8. char str[n];
9. printf("Input a string: ");
10. gets(str);
11. puts(str);
12.
13. return 0;
14. }
之间有什么区别? 展开
就是说例如:char str[]={0};
printf("Input a string: ");
gets(str);
puts(str);
与
1. #include <stdio.h>
2. int main()
3. {
4. int n;
5. printf("Input string length: ");
6. scanf("%d", &n);
7. scanf("%*[^\n]"); scanf("%*c"); //清空输入缓冲区
8. char str[n];
9. printf("Input a string: ");
10. gets(str);
11. puts(str);
12.
13. return 0;
14. }
之间有什么区别? 展开
3个回答
展开全部
C语言中普通数组在定义的时候不给出数组的具体长度,那么计算机是在运行期间是不能为其分配长度的,除非声明这个普通数组的时候了,同时初始化他所有的元素。例如,char s[] ={'a','b','c'};
或char s1[]="good";
或char s1[]="good";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2021-12-02
展开全部
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询