
c语言中输入任意个整数,然后将它们存入一个数组?第一行输入整数个数n,第二行输入n个整数,用空格符隔开,然后将这n个整数存入数组。
C语言中,同变量一样;数组也必须先定义后使用。
一维数组的定义形式:
类型标识符 数组名[常量表达式];例如int a[10]; 其中a为地址常量。
若要定义一个100个整型元素的一维数组,形式如下:
不能写成这样子:int score[n];//注意:无论在数组定义前变量是否已被赋值,都是非法的
1.定义数组的长度必须使用整型常量或整型常量表达式。ANSI C89不允许使用变量定义可变长度的数组
2.C语言中数组的下标都是从0开始的,对于任何一个数组,它的第一个元素都是第0
数组类型:是由相同基本类型若干个元素组织在一起数据,它们有先后顺序,也可以按这个顺序对这些元素访问。如int a[10],共有10个元素,第个元素的类型都相同,都为整型。这10 个元素,按顺序分别是a[0]、a[1]、a[2]、a[3]、a[4]、a[5]、a[6]、a[7]、a[8]、a[9]。但是 int a,b,c,d;这样定义的变量,a,b,c,d是没有先后顺序的。
所有的基本类型都能作为数组类型,例如int,long,float,double,char等等。
结构体struct也可以作为数组类型。各种类型的指针也可以作为数组类型。
在C语言中,有两个函数可以让用户从键盘上输入数组数据,它们分别是gets()和scanf()。scanf()是通过格式控制符%s输入数组字符串,除了字符串,还能输入其他类型的数据;gets()是直接输入数组字符串,并且只能输入字符串。
但是,scanf()和gets()是有区别的。
scanf()读取字符串时以空格为分隔,遇到空格就认为当前字符串结束了,所以无法读取含有空格的字符串。
gets()认为空格也是字符串的一部分,只有遇到回车键时才认为字符串输入结束,所以,不管输入了多少个空格,只要不按下回车键,对 gets() 来说就是一个完整的字符串。换句话说,gets() 用来读取一整行字符串。
数组所有元素默认值都是“零”整数,浮点数不必说了布尔型:false(c语言传统,0 是 false)字符型:0字符也就是c语言的'\0', 或者java的'\u0000'对象型: null,也就是没指向任何地址(没引用对象)。①byte short int long 这四种基本数据类型数组默认值为0
②float double 这两种数组默认值是0.0
③char这种类型数组默认值为空格
④boolean类型数组默认值为false