读书人

C语言如何调用含有数组的函数

发布时间: 2013-03-25 15:43:04 作者: rapoo

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;
}

读书人网 >C语言

热点推荐