标题:求问第五行的错误怎么解决
只看楼主
王黄丽
Rank: 1
等 级:新手上路
帖 子:53
专家分:4
注 册:2018-7-27
结帖率:100%
 问题点数:0 回复次数:7 
求问第五行的错误怎么解决
#include <stdio.h>
#include <stdlib.h>
int main(){
    int xun_huan = 0;
    int * const p_shu_zi = malloc(3 * sizeof(int));
    if(p_shu_zi){
        for (xun_huan = 0; xun_huan < 3; xun_huan++){
            printf("数字%d是%d\n", xun_huan +1,*(p_shu_zi + xun_huan));
        }
        free(p_shu_zi);
        //p_shu_zi = NULL;   编译报错
    }
    return 0;
}

提示的是Error:"void*"类型的值不能用于初始化"int*const"类型的实体
搜索更多相关主题的帖子: 错误 include int const 类型 
2018-07-31 13:28
no1xijin
Rank: 9Rank: 9Rank: 9
来 自:江西
等 级:贵宾
威 望:20
帖 子:211
专家分:1207
注 册:2015-7-8
得分:0 
1.回答你的提问: int *const p_shu_zi = (int *)malloc(3 * sizeof(int));
2.我猜你的程序是想看地址,那么要达成这个目的,将printf中的*去掉,这样输出的才是地址,否则,输出的是地址内的数据。去掉*后的代码如下:
  printf("数字%d是%d\n", xun_huan +1,(p_shu_zi + xun_huan));

126邮箱联系方式:no1xijin@126. com
2018-07-31 14:39
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
因为你定义的是 int * const p_shu_zi,即 p_shu_zi 不允许被修改

说个更重要的,p_shu_zi = NULL; 反而才是个陋习(我看到过很多外行鼓吹free之后再设NULL)
2018-07-31 15:08
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
提示的是Error:"void*"类型的值不能用于初始化"int*const"类型的实体
------这个估计你用的不是C,而是C++
2018-07-31 15:20
王黄丽
Rank: 1
等 级:新手上路
帖 子:53
专家分:4
注 册:2018-7-27
得分:0 
回复 2楼 no1xijin
这个是看的达内教育的视频,里边老师和我打的代码一样,结果输出不一样
2018-07-31 16:14
王黄丽
Rank: 1
等 级:新手上路
帖 子:53
专家分:4
注 册:2018-7-27
得分:0 
回复 4楼 rjsp
我用的vc2010学习版
2018-07-31 16:15
no1xijin
Rank: 9Rank: 9Rank: 9
来 自:江西
等 级:贵宾
威 望:20
帖 子:211
专家分:1207
注 册:2015-7-8
得分:0 
回复 5楼 王黄丽
这个程序的目的是什么?
还有你仔细看下代码,是不是你漏掉了什么。

126邮箱联系方式:no1xijin@126. com
2018-07-31 17:39
凌海逸
Rank: 1
等 级:新手上路
帖 子:9
专家分:6
注 册:2018-7-6
得分:0 
int *const p_shu_zi = (int *)malloc(3 * sizeof(int));
2018-08-01 11:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-488921-1-1.html




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

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