| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 410 人关注过本帖
标题:[请教]新手上路,请教个指针问题
只看楼主 加入收藏
k_summer7
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-3-19
收藏
 问题点数:0 回复次数:2 
[请教]新手上路,请教个指针问题

向各位大虾请教
我编了一个求奇数之和、偶数之和的小函数;
如下:
void fun_CalTotal(int *a, int size, int *odd, int *even)
{
for(int i=0; i<n; i++)
{
if((*(a+i))%2)
*odd += a[i];
else
*even += a[i];
}
return;
}
但调用后,结果很奇怪;比如我输入int a[] = {1,8,2,3,11,6};结果是很大的负数;
作如下修正后即可正确运行:
void fun_CalTotal(int *a, int n, int *odd, int *even)
{
static int tempOddTotal = 0, tempEvenTotal = 0;
for(int i=0; i<n; i++)
{
if((*(a+i))%2)
tempOddTotal += *(a+i);
else
tempEvenTotal +=*(a+i);
}
*odd = tempOddTotal;
*even = tempEvenTotal;
return;
}
请问这是怎么一回事?

搜索更多相关主题的帖子: 指针 
2007-03-19 23:55
Hellish
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-2-28
收藏
得分:0 
估计是指针没有赋初值吧!!
2007-03-20 00:13
k_summer7
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-3-19
收藏
得分:0 
确实是如此
谢谢楼上的提示
2007-03-20 06:44
快速回复:[请教]新手上路,请教个指针问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021265 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved