C语言怎么调用含有数组的函数
#include<stdio.h>
void power(int x,int a[x])
{
int i;
for(i=0;i<x;i++)
{
printf("a[%d]=%d\n",i,a[i]);
}
}
int main()
{
int n,j;
scanf("%d",&n);
int a[n] = {0};
for(j=0;j<n;j++)
scanf("%d",&a[j]);
power(n,a);
return 0;
}
这个程序编译有一个错误,但我找了好久,不知道哪错,求各位大神相助!!!
[解决办法]
int a[n] = {0}; //C允许这样定义数组吗?
void power(int x,int a[x]) //a数组形式参数这样写吗?要么写实际维数,要么省略
[解决办法]
int main()
{
int n,j;
scanf("%d",&n);
int a[n] = {0};//数据的大小应该是常量
for(j=0;j<n;j++)
scanf("%d",&a[j]);
power(n,a);
return 0;
}
void power(int x,int a[])
{
int i;
for(i=0;i<x;i++)
{
printf("a[%d]=%d\n",i,a[i]);
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int n,j;
scanf("%d",&n);
int *a = new int[n];
for(j=0;j<n;j++)
scanf("%d",&a[j]);
power(n,a);
delete []a; return 0;
}