mtwm.net
当前位置:首页 >> 请问C语言中 int A[3 ] [ ] 为什么是错误的定义 >>

请问C语言中 int A[3 ] [ ] 为什么是错误的定义

二维数组中行数可以不规定,列数一定要规定。 比如 int a[][3] 或 int a[3][3]

这个语句试图定义一个拥有3行而列数不固定的二维数组,但由于编译器要求多维数组的除最高维度外的每个维度都必须为已知量,因此事实上这句话不能通过编译。

不可以 =是赋值 只有先将a,b,c三个变量都声明的情况下 才能进行赋值操作 否则你int a=b 相当于声明一个整型a然后将一个未声明类型的变量b赋值给a 这句话很明显是错的!

int a[][3]={1,2,3,4,5};合法的实际中这个赋值等于a[0][3]={1.2.3}a[1][3]={4,5,0}这样系统会自动安排对应的位置

/*需要定义一个变量,代码修改如下*/float a; /*定义一个浮点型a*/a=12.3/4; /*给a赋值一个表达式的值*/int (a); /*将浮点型a强制转换为整形*/

因为是数组是int型的,你给赋值的是字符串。 你可以改成char a[] = "01234"; 或者 int a[] = {0,1,2,3,4}; 都可以。 数组初始化赋值肯定要匹配。

int a[]; //这样不可以,不能确定元素个数。 int a[]={1,2,3,4,5}; //这样可以,因为从后面的初始化表中可以确定元素个数为5。

注意分清声明和定义的概念!! int a[5];这是声明 这个时候 数组里面的内容是混乱随机的不是0 ! int a[5] = {1,2,3};这是定义 这个时候,对应位置的内容被初始化 其他没有设值的,被编译器补成0了。

int a[3][3]={{1,2},{3,4},{5,6}} 不就是定义了一个3*3的数组,然后对他进行初始化,可以对全部元素初始化,也可对部分元素初始化,没初始化的默认为0; 第一行1,2,0 第二行3,4,0 第三行5,6,0 。。。这不是数组基础么。。。 简单的说,就...

C语言中,赋值号左边只能是变量,而不能是表达式,答案A中,最右边的赋值号它左边是一个表达式(因为b=4使用了括号)而不是变量,所以是错的

网站首页 | 网站地图
All rights reserved Powered by www.mtwm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com