首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2013-03-25 
C语言怎么调用含有数组的函数#includestdio.hvoid power(int x,int a[x]){int ifor(i0ixi++){print

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

热点排行