小玉我是龙叔呀 2017-01-26 05:37 采纳率: 0%
浏览 1698
已结题

VS2010中C指针类型转换

写了一段代码无法编译,感觉应该是指针类型转换出了问题,请有经验的程序员帮忙看一看,系统报错如下:
error C2440: “=”: 无法从“NODE *”转换为“NODE”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

我的代码如下:
#include
using namespace std;
#include
#include

struct node
{
int num;
struct node link;
};
typedef struct node
NODE;

void main()
{
int n, k, m, i,j,a,b;

NODE head,q,p;
head=(NODE)malloc(sizeof(NODE));
head->link=NULL;

scanf("%d,%d,%d",&n,&k,&m);
head->num=n;
i=n-1;
q=head;//q为跟踪节点;
while(i)
{
    p=(NODE)malloc(sizeof(NODE));//p为新建节点;
    p->num=i;

    p->link=head;
    head=p;
    i--;

}
q->link=head;//建立环装链表完成。

for(j=1;j<=k;j++)
{
    q=q->link;
}//q停留在当前要报数的那个人身上。

//接下来开始T人。
for(a=1;a<=n;a++)//开始循环T人
{
    for(b=1;b<m;b++)//开始找人
    {
        q=q->link;
    }
    printf("%d ",q->link->num);
    q->link=q->link->link;
    if(a%10==0) printf("\n");
}
printf("\n");

}

第一次提问,只有五个币,望大神不吝赐教。

  • 写回答

3条回答 默认 最新

  • oyljerry 2017-01-26 05:55
    关注

    你类型指针等定义不准确

      Node *p=(Node *)malloc(sizeof(Node)); 
    
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置