| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 979 人关注过本帖
标题:数组定义
只看楼主 加入收藏
xuexuexue
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2004-7-19
收藏
 问题点数:0 回复次数:5 
数组定义

请问这个一维数组int n=10,a[n];说明正确吗?为什么?数组#define long 10; int a[long+5];是否正确为什么?

以下程序段给数组所有的元素输入数据,_______处的正确答案是 main() {int a[10],i=0; while(i<10)scanf("%d",_____); ....... } A.a+(i++) B.&a[i+1] c.a+i D.&a[++i] 这道题为什么答案是c?而它的三个答案为什么不对,请解释一下

搜索更多相关主题的帖子: 定义 
2004-07-31 17:17
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
得分:0 

前一个int n=10,a[n];是错的,定义数组时必须用常量指明大小,要用变量定义数组可以用calloc函数,]

后一个define long 10;int a[long+5];是正确的,宏只起替代作用,long+5就是10+5的意思没有变量。

下面一个我认为没有答案吧C应该不对应该是a+i++ a是数组的首地址,a+i++有点类似于指针表示,

A先执行i++;Bi没变,是个死循环;c死循环;Di先自增了


我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2004-07-31 17:49
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
答案是A

淘宝杜琨
2004-07-31 19:17
zazaking
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2004-7-23
收藏
得分:0 
以下是引用神vLinux飘飘在2004-07-31 19:17:46的发言: 答案是A

nod,

我也认为是A

2004-07-31 19:34
乌鸦丘比特
Rank: 1
等 级:新手上路
威 望:2
帖 子:625
专家分:0
注 册:2004-7-19
收藏
得分:0 
是A,说错了。

我喜欢创造,一只扑腾着翅膀向天空飞翔的乌鸦
2004-07-31 22:02
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
以下是引用乌鸦丘比特在2004-07-31 17:49:54的发言:

前一个int n=10,a[n];是错的,定义数组时必须用常量指明大小,要用变量定义数组可以用calloc函数,]

后一个define long 10;int a[long+5];是正确的,宏只起替代作用,long+5就是10+5的意思没有变量。

下面一个我认为没有答案吧C应该不对应该是a+i++ a是数组的首地址,a+i++有点类似于指针表示,

A先执行i++;Bi没变,是个死循环;c死循环;Di先自增了

前一个看你用什么编译器,如果是C99标准的,是可以,现在手头没有编译器无法调试。但是可以肯定的是

main()

{

int a=10;

fun(a)

}

fun(int a)

{

int sum[a];

...

}

这样是可以的。这就是变长数组。(刚才查了下网上资料,C99是支持的,TC2。0肯定是不行的,TC是C89标准,C89没有这概念)

后一个是错误的,long是什么?是保留字!不可乱用。

[此贴子已经被作者于2004-07-31 23:28:25编辑过]


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-07-31 23:19
快速回复:数组定义
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011317 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved