初学DSP,用的是6713,上午编了一个简单程序,两数组相加,具体程序如下,
在这里我只是把最后两数组的数据返回,也就是应该返回30,但用watch看是时始终得到的是11,不知为何?如果我想返回一个数组的值,不知怎么弄?
恳请大哥解或下
#include <stdio.h>
int b[10]={1,2,3,4,5,6,7,8,9,10};
int a[10]={11,12,13,14,15,16,17,18,19,20};
volatile int x=0;
void main()
{
x=sum(a,b,10);
while(1)
{}
}
int sum(int *restrict m,int *restrict n,int count)
{
volatile int i;
int y=0;
for(i=0;i<=count;i++)
{
y=m+n;
}
return y;
}
本帖最后由 dontium 于 2015-1-23 13:42 编辑
sum函数有错,C中的数组索引取值范围是0~count-1而非0~count,正确的for循环语句是
for(i = 0; i < count; i++)
你说得很对,太谢谢你啊!这样就可以了,但是我想如果返回的是数组,也就是一堆数,那该怎么呢?
LZ,是不是只反回11啊
首先谢谢大家的回答,对啊
原来是一直返回11,按照dsp2812所说的,是将y用指针来返回吗?
还是????