24小时热门版块排行榜    

查看: 1939  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

nenyan

铜虫 (初入文坛)

[交流] 【求助】一个求数组绝对值的小问题 已有5人参与

/*find abs value*/
int absv(double *a, int n)
{
int i;
for(i=0;i {if (a<0)
a=-a;

}

}


int main()
{
double a[7];
int i,j;
for(i=0;i<7;i++)
scanf("%lf\n",&a);
absv(a,7);
for(j=0;j<7;j++)
printf("%e\n",a[j]);

printf("%d,%d",i,j);

}

这个小程序很奇怪,输入可以有8个,输出只有7个,为何
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

微尘、梦想

木虫 (知名作家)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+2): 谢谢参与应助! 2011-02-28 20:08:56
其实楼主可以开辟足够大的空间,如100个,反正这编程也只是学习,也不能实际应用,不过也可以动态开辟内存,你可以去网上查一下malloc、calloc、free、realloc这些函数的用法
任风云变幻,我笑对人生!
5楼2011-02-28 19:31:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

yalefield

金虫 (文坛精英)

老汉一枚

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+3): 谢谢参与应助! 2011-02-28 20:08:15
scanf就是一大陷阱,或者说“失足函数”。
别琢磨了,它在不同环境下的表现相当不一致。
2楼2011-02-28 15:19:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

微尘、梦想

木虫 (知名作家)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+2): 谢谢参与应助,欢迎常来程序语言版! 2011-02-28 20:08:31
即使输入18个,输出也只能是7个,因为你只开辟了7个数据的内存,多输入的数据都被舍弃了……
任风云变幻,我笑对人生!
3楼2011-02-28 19:11:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lucktroy

禁虫 (小有名气)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+3): 谢谢参与应助,欢迎常来程序语言版! 2011-02-28 20:08:45
本帖内容被屏蔽

4楼2011-02-28 19:20:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见