怎么给数组赋值数组赋值
数组的初始化(初始化就是在定义时赋值):
1、满数初始化
int arr[5] = {1,2,3,4,5}; //arr[0]-->1 arr[4]-> 5
2、部分初始化
int arr[5] = {1,2,3}; //arr[0]=1, arr[1]=2,arr[2]=3,arr[3]=0,arr[4]=0
根据上⾯可得出:
想在初始化时让所有的元素的值都为0,int arr[5] = {0};
⼆维数组的初始化:
int a[2][3] = {{1,2,3}, {4,5,6}}; //满数初始化时,⾏号可以省略,但是列数不能省略
//因为列数代表类型,后⾯讲
int a[2][3] = {{1}, {4,5}};
int a[2][3] = {1,2,3,4,5,6};
数组的赋值:
int arr[5];
arr[5] = {1,2,3,4,5}; //error arr[i]这种写法是访问数组元素,并且arr[5]越界了
arr = {1,2,3,4,5}; //error arr是数组名,我们⽬的是给数组中的每⼀个元素赋值
所以:赋值时只能依次给每个元素赋值,使⽤for循环来实现
字符数组:元素类型为char类型数组
char str[5] = {'a','b','c','d','\0'};
char str[5] = "abcd";
char str[5] = "ab";
字符数组的赋值:
scanf("%s", 数组名);
printf("%s\n",数组名);
字符串的输⼊与输出函数:
字符串的输⼊函数:gets(数组名);
字符串的输出函数:puts(数组名);
注意:scanf和gets都可以给字符数组赋值,但是scanf以空格和回车作为结束标志
⽽gets只以回车作为结束标志
在使⽤gets时,因为gets不做越界检查,所以当输⼊字符串时,最多只能输⼊n-1个字符 scanf也⼀样
字符⼆维数组:
char str[2][20] = {"hello", "world"};
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论