C语言数组初始化问题。

这是为毛?... 这是为毛? 展开
 我来答
gxt15s
2015-03-30 · TA获得超过288个赞
知道小有建树答主
回答量:326
采纳率:0%
帮助的人:253万
展开全部

因为C语言中数组的个数是不能用变量来表示的,const int类型作为数组个数是C++的用法。

#include<iostream>
using namespace std;
int main()
{
    const int num = 10;   //C++风格可以使用const int作为数组个数
    int prime[num] = {2};
    return 0;
}

这样就可以了。

如果还是用C风格的话也可以这样:

#include<stdio.h>
#define num 10
int main()
{
    //const int num = 10;  //num是const int型变量
    int prime[num] = {2};  //变量在c语言中不能作为数组个数
    return 0;
}
sunl449554866
2015-03-30
知道答主
回答量:26
采纳率:0%
帮助的人:14.3万
展开全部
num虽然是const的,但也是变量,不能用来初始化数组。可以用#define。
追问
怎么用?
追答
在主函数外面写“#define num 10”,后面就可以用num初始化了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2015-03-30
知道答主
回答量:8
采纳率:0%
帮助的人:3.2万
展开全部
数组大小不可以是变量。在定义函数中,数组大小可以是变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李金阳074
2015-03-30 · 超过48用户采纳过TA的回答
知道小有建树答主
回答量:103
采纳率:0%
帮助的人:96.8万
展开全部
你把他放在main函数前面试试?我在VC++6.0测试这段代码编译通过了
更多追问追答
追问
还是不行
追答

你用的什么编译器啊   VC++6.0实测完全没问题,估计是你的编译器不支持const整数做数组的参数?

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式