新手求教关于C语言的问题
关于数组1.如以下声明:floatdebts[20];这是表示具有20个元素的数组,那么这每个元素是不同的是吧?可以相同么?那么debts[5]=32.54;这个语句中3...
关于数组
1. 如以下声明:float debts[20]; 这是表示具有20个元素的数组,那么这每个元素是不同的是吧?可以相同么?那么debts[5]=32.54;这个语句中32.54是赋给了谁啊?
2. 为什么debts[20]=88.32; 还有debts[33]=828.12;是错误代码?它们跟上面debts[5]=32.54有什么区别么?
3. scanf("%f",&debts[4]); 这是为第5个元素读入一个值。是不是说对于debts[4]这个只有4个元素的数组增加一个元素?
谢谢大家~ 展开
1. 如以下声明:float debts[20]; 这是表示具有20个元素的数组,那么这每个元素是不同的是吧?可以相同么?那么debts[5]=32.54;这个语句中32.54是赋给了谁啊?
2. 为什么debts[20]=88.32; 还有debts[33]=828.12;是错误代码?它们跟上面debts[5]=32.54有什么区别么?
3. scanf("%f",&debts[4]); 这是为第5个元素读入一个值。是不是说对于debts[4]这个只有4个元素的数组增加一个元素?
谢谢大家~ 展开
4个回答
展开全部
debts[20] 你首先要理解他是在栈里面申请了20个浮点类型长度的空间,然后指定空间里面的数值代表的是浮点数,也就是说从起始开始32位*20的空间都是他所占的内存。
然后看你的问题。
1、二十个元素可以一样也可以不一样,它只是表示一段空间,你可以强制转换成其他类型,不过目前你还不需要理解这些东西。就像我说的debts[5]相当于从数组开头的那个地址开始数到底6个32位的地方(0-5)然后往那个地址里面写入32.54的二进制码。也就是付给你所申请的二十个元素中的第6个元素
2、就合开头的说法一样,其实debts[20]算错也不算错,从数组意义上来说他超出了申请范围,所以是错的,但是从计算机而言,它相当于代表了从数组开始按浮点32位计算第21个内存空间中的数值,同理33也是,所以他们都是对的,你可以手动给他们写数值。
3、相当于队第五个元素做覆盖动作,和4完全没有关系。相当于你一幢20层楼的房子,5楼住了一户人家,关你四楼什么事情。
从你的问题看,应该确实是刚开始学C的人,建议不要考虑问题二里面提到的问题,因为考试里面绝对不会考虑到这些的,你如果写了肯定就算你错。而且容易让你搞混
然后看你的问题。
1、二十个元素可以一样也可以不一样,它只是表示一段空间,你可以强制转换成其他类型,不过目前你还不需要理解这些东西。就像我说的debts[5]相当于从数组开头的那个地址开始数到底6个32位的地方(0-5)然后往那个地址里面写入32.54的二进制码。也就是付给你所申请的二十个元素中的第6个元素
2、就合开头的说法一样,其实debts[20]算错也不算错,从数组意义上来说他超出了申请范围,所以是错的,但是从计算机而言,它相当于代表了从数组开始按浮点32位计算第21个内存空间中的数值,同理33也是,所以他们都是对的,你可以手动给他们写数值。
3、相当于队第五个元素做覆盖动作,和4完全没有关系。相当于你一幢20层楼的房子,5楼住了一户人家,关你四楼什么事情。
从你的问题看,应该确实是刚开始学C的人,建议不要考虑问题二里面提到的问题,因为考试里面绝对不会考虑到这些的,你如果写了肯定就算你错。而且容易让你搞混
展开全部
1、每个元素是独立的,其地址依序排列。每个元素的取值可以相同。该值赋给了数组的第6个元素。
2、声明debts[20]意味着这个数组只有20个元素,[20]是第21个元素,[33]是第34个元素,访问不存在的元素当然会报错。
3、不是。是向debts[4]这个变量所在的地址写入数据,也即给debts[4]赋值。
2、声明debts[20]意味着这个数组只有20个元素,[20]是第21个元素,[33]是第34个元素,访问不存在的元素当然会报错。
3、不是。是向debts[4]这个变量所在的地址写入数据,也即给debts[4]赋值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不对的
float A[20]相当于是定义了float A[0],A[1],A[2],......A[19]就完了 没有A[20] 也就更没有A[33]了 每一个数组下标都是从0开始 到N-1结束
那么debtS[4]就是第五个元素
懂了吗
float A[20]相当于是定义了float A[0],A[1],A[2],......A[19]就完了 没有A[20] 也就更没有A[33]了 每一个数组下标都是从0开始 到N-1结束
那么debtS[4]就是第五个元素
懂了吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询