关于c++中a[n]的赋值问题
intn;inta[n]={0};这么做错误,那么如何直接将a[n]全部初始化到0.补充一下,应该是这样。intn;cin>>n;inta[n]={0};...
int n;
int a[n]={0};
这么做错误,那么如何直接将a[n]全部初始化到0.
补充一下,应该是这样。
int n;
cin>>n;
int a[n]={0}; 展开
int a[n]={0};
这么做错误,那么如何直接将a[n]全部初始化到0.
补充一下,应该是这样。
int n;
cin>>n;
int a[n]={0}; 展开
展开全部
如果要n是可变的,局部变量做不到。必须要动态申请内存
如果你是初学,建议直接用固定的大数,比如 int a[1000]={0};
如果你是初学,建议直接用固定的大数,比如 int a[1000]={0};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
错误的原因是:数组a的大小n需要是一个常数,而不是变量。
应该用:
define n 10
int a[n] = {0}; // 这一句没有错
应该用:
define n 10
int a[n] = {0}; // 这一句没有错
更多追问追答
追问
关键是这个n值不固定,需要在程序中输入,那么该如何做。
追答
首先,先初始化一个足够大的数组,比如:
define N 100;
int a[N] = {0};
然后,输入你需要的n值。
int n;
scanf("%d", &n);
剩下的没有用到的数组空间,就不要管了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int [n] a;
for(int i=0;i<n;i++){
a[i]=0;
}
for(int i=0;i<n;i++){
a[i]=0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
memset(a,n,0x00)
追问
能否再清楚些?
追答
不好意思,刚才弄错了,
int b[10];
memset(b,0x00,10);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询