C语言中定义数组

C语言中,定义数组长度为20,但我只输入的10个字符,要想让剩余的用空格代替该怎么定义?

这个一般都是这样处理的

定义一个 字符串数组 char a[20]

那么用memset(a,0,sizeof(a));

将a 数组每个字符都置为 '\0'

注意 '\0'不是空格 而是结束符号'\0'

因为字符串都是以'\0'结束的 这个你搞不懂的话 赶紧回去翻书 这个概念十分重要

如果是其他数组 最好定义一个变量n

比如int a[20] 那么n=10

以后操作数组的时候
for(i=0;i<n;i++)
那么 实际上操作的就是前10个元素

后面根本不管多少个元素了 也不用初始化他们的值

如果想操作11个元素 只需要把n 改为11即可

问题:为什么不直接把数组定义为int a[n]呢?

是因为c语言 不允许变量做数组声明的长度 这样做是错误的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-04-18
定义数据 char a[20]
再输入字符串后系统自动在字符串后加上\0
第2个回答  2010-04-15
当你输入完10个字符以后。后面的他会以默认为空。
第3个回答  2020-12-30

C语言的数组概念的学习,通过for循环输出打印数组

第4个回答  2010-04-15
不定义
相似回答