微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 数组运算

数组运算

时间:10-02 整理:3721RD 点击:


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

sum函数有错,C中的数组索引取值范围是0~count-1而非0~count,正确的for循环语句是
for(i = 0; i < count; i++)

你说得很对,太谢谢你啊!这样就可以了,但是我想如果返回的是数组,也就是一堆数,那该怎么呢?

首先谢谢大家的回答,对啊
原来是一直返回11,按照dsp2812所说的,是将y用指针来返回吗?
还是?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top