读书人

关于C数组有关问题

发布时间: 2012-04-03 12:38:19 作者: rapoo

关于C数组问题
#include<stdio.h>
//返回一个数组的首地址
int *array()
{
int a[5],i;
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}
return a;
}
void main()
{
int b[5];
b=array();//这个地方为什么报错说是什么不能修改的左值呢??
}

小弟大一大二的时候学过C 现在主要搞java C很多地方都忘了 想复习复习C和数据结构 但是很多都忘了 蛋疼啊

[解决办法]
数组名不可以作为左值的,你可以通过memcpy()实现你的功能:
int *p = array();/*另外定一个指针,作为接受数组的返回值 */
memcpy(b,p, 4 * 5);
[解决办法]
难道没有人发现,楼主发返回了一个局部变量的指针吗?

读书人网 >C语言

热点推荐