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

求教指针有关问题

2012-09-18 
求教指针问题?#includestdio.h#define SIZE 10void addarrays(int [],int [])int main(void){int a[SIZ

求教指针问题?
#include<stdio.h>

#define SIZE 10

void addarrays(int [],int []);

int main(void)
{
  int a[SIZE]={1,1,1,1,1,1,1,1,1,1};
  int b[SIZE]={9,8,7,6,5,4,3,2,1,0};
   
  addarrays(a,b);
   
  return 0;
}

void addarrays (int first[],int second[])
{
  int total[SIZE];
  int *ptr_total=&total[0]; // 这个起啥作用呢?
  int ctr=0;
   
  for (ctr=0;ctr<SIZE;ctr++)
  {
  total[ctr]=first[ctr]+second[ctr];
  printf("%d+%d=%d\n",first[ctr],second[ctr],total[ctr]);
  }
}



[解决办法]
你这程序是两个数组对应元素求和吧。
int *ptr_total=&total[0]; 这句话的意思是将total数组的首地址赋值给指针ptr_total,也就是说对指针进行赋值,接下来程序对total数组的操作,都可以通过指针ptr_total来实现。
不过看你的addarrays()方法,虽然给指针赋值了,但是却没有对该指针进行任何操作...可以把int *ptr_total=&total[0]这句话直接去掉。或者是把int *ptr_total=&total[0]; 改成*ptr_total++ = first[ctr]+second[ctr];

热点排行