求教啊!!invalid types `double[10000][double]' for array subscript c语言问题

JavaScript06

求教啊!!invalid types `double[10000][double]' for array subscript c语言问题,第1张

数组元素的下标是整数。你的数组下标定义为双精度值显然不妥。用于表示数组下标的元素i,n都应该定义为整数类型,才符合常规!s=s+1/(2*i)这里,无需使i为double类型,只需要改为 s=s+1.0/(2*i),那么得到的数依然是double类型的值。切记,不要让数组下标为非整数类型。scanf()这里也是一样的。改为while(scanf("%d",&n)==1)即可

js数组只支持数字索引,非数字索引指的是对象的属性了。跟你解释一下,这其中的差别,js的数组可以看做是特殊的对象(object),对象的属性有两种表示方法

如var a=Object()

1.a.myattr="lee"

2.a["myattr"]="lee"

1和2是等价的

不过楼主给的两条例子还是比较有探讨性的,先说

var a=new Array()

a['a1']=1

a['a2']=2

a.length //输出0

你没有给数组的元素赋值,所以a数组的长度也没有被创建出来,此时a.length自然是0.

var a=new Array()

a['a1']=1

a['a2']=2

a[2]=3

你最后给数组元素a[2]赋值了,此时js会给数组a创建一个长度为3的空间,并在第三个元素中赋以3,但是元素1和元素2都没有赋值,所以此时a[0]和a[1]是没有值的,不信用可以alert一下

数组为空.指的是数组里面没有包含任何元素.

判断数组为空的方式有很多种:以下 一一列出来

empty($array_test) //如果数组$array_test为空那么这个函数返回trueif($array_test) //如果数组为空.那么if的条件判断为falsecount($array_test) //计算数组元素个数.为0就是空sizeof($array_test) //count() 的别名 用法和返回一样 //实际上还有一些方式可以判断数组是否为空.常用的就是这些补充一下如果数组没有被定义还可以使用isset($array_test)//判断数组是否被定义