码迷,mamicode.com
首页 > 编程语言 > 详细

c语言函数传递数组

时间:2014-10-31 13:29:40      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   ar   for   sp   div   on   

1、传递数组,打印不出来

#include <stdio.h>
void solve()
{        
  printf("%d",x[0]);
}

int main()
{      
    int i;
    for(i=0;i<n;i++)
    {
        scanf("%d",&x[i]);   
        printf("%d\n",x[i]);     
    }
    solve();  
    
    return 0;
}

[Error] error: `x‘ undeclared (first use in this function)

------------------------------------------------

解决方案一:设置全局变量

#include <stdio.h>
int x[100];
void solve()
{        
  printf("%d",x[0]);
}
int main()
{      
    int i,n;
    puts("输入数组长度");
    scanf("%d",&n);
    
    for(i=0;i<n;i++)
    {
        scanf("%d",&x[i]);   
        printf("%d\n",x[i]);     
    }
    solve();      
    return 0;
}

解决方案二:用指针传递首地址

传数组给一个函数,数组类型自动转换为指针类型,因而传的实际是地址。void func(int array[10])void func(int array[])void func(int *array)所以以上三种函数声明完全等同。
#include <stdio.h>

void solve(int *x) //前面的int也不能省。 
{        
  printf("%d",x[1]);
}
int main()
{      
    int i,n;
      puts("输入数组长度");
    scanf("%d",&n);
     int x[n];  
    
    for(i=0;i<n;i++)
    {
          printf("输入第%d个数",i+1);
        scanf("%d",&x[i]);   
        printf("%d\n",x[i]);     
    }
    solve();    //这里的x也不能省  
    return 0;
}

 

c语言函数传递数组

标签:style   blog   io   color   ar   for   sp   div   on   

原文地址:http://www.cnblogs.com/bluewelkin/p/4064767.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!