c语言,如何用scanf赋值给数组的个数n

#include<stdio.h>main(){intn,i,j,temp;inta[n];scanf("%d",&n);for(i=1;i<=n;i++)scanf("... #include<stdio.h>
main()
{
int n,i,j,temp;
int a[n];
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(j=1;j<=n-1;j++)
{ for (i=0;i<n-j;i++)
if (a[i]>a[i+1])
{ temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;}
}
for(i=1;i<n+1;i++)
printf("%5d",a[i] );
printf("\n");
}
怎么用scanf赋值给n?
展开
 我来答
wchyumo2011
推荐于2018-04-14 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2831万
展开全部
这个是不行的,c语言中,数组的大小必须明确给出,不能用变量,但是可以用指针
如int *a=(int *)malloc(sizeof(int)*n);
这样就动态的申请了一块大小为n的数组并赋值给了a
匿名用户
2015-11-12
展开全部
n必须为常量才能用a【n】,尽管有些时候编译器能通过 但是这样是不合规定的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式