| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 752 人关注过本帖
标题:大佬帮我看看标记地方的问题
只看楼主 加入收藏
Gband
Rank: 1
等 级:新手上路
帖 子:41
专家分:7
注 册:2017-10-13
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:2 
大佬帮我看看标记地方的问题
程序代码:
#include "stdio.h"
#include "stdlib.h"
#include "ctype.h"
#define capacity 2
int main(void)
{
    double *pstr = NULL;
    double *value = NULL;
    double *ave = NULL;
    int count = 0;
    int add = 0;
    char answer = 'n';
    do
    {
        if (count == add)
        {
            add += capacity;
            pstr = (double*)malloc((add)*sizeof(double));
            if (value != NULL)
            {
                for (int i = 0; i < count; i++)
                    *(pstr + i) = *(value + i);
                free(value);
            }
            value = pstr;
            pstr = NULL;有这一行就会运行出错,但是删除这一句就好了,原因是什么?
        }
        printf("请输入任意浮点数:\n");
        scanf_s("  %lf", pstr + count++);
        printf("还有吗?\n");
        scanf_s("  %c", &answer);
    } while (tolower(answer) == 'y');

    ave = (double*)malloc(count*sizeof(double));


    if (count < add)
    {
        for (int i = count; i < add; i++)
            free(value + i);
    }


    for (int i = 0; i < count-1; i++)
    {
        *ave = 0.0;
        *ave += *(value + i);
    }

    printf("%.2lf\n", *ave / count);
    free(ave);
    free(value);

    
    return 0;
}

搜索更多相关主题的帖子: int double value count add 
2017-10-23 20:08
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:20 
运行到 scanf_s("  %lf", pstr + count++); 时,pstr等于0,count等于1
另外,scanf_s("  %c", &answer) 缺少长度参数吧?!我没用过scanf_s,不确定
2017-10-24 08:21
Gband
Rank: 1
等 级:新手上路
帖 子:41
专家分:7
注 册:2017-10-13
收藏
得分:0 
回复 2楼 rjsp
scanf_s 在一些编译器上是不需要长度参数的,就如我现在使用的vs2013.
另外count++是先计算后+1的吧,刚才也改了一下没用,我已经知道为啥错了。应该是(,valua+count++)而不是(,pstr+count++)
最后还是要谢谢你
2017-10-24 12:53
快速回复:大佬帮我看看标记地方的问题
数据加载中...
 
   



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

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