C_and_CPP 板


LINE

开发平台(Platform): (Ex: Win10, Linux, ...) Win10 编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出) https://www.onlinegdb.com/online_c_compiler 问题(Question): 这个code主要是可以动态输入资料并且创建出Linked list, 并且还能够排序好. 这段code跑起来没有问题, 能够成功. 但不知道为什麽在上面提到的编译器编译 时一直出现多行warning: incompatible pointer size. 举其中两例如下: newNodePtr->NextPtr = Headnode; CurrentPtr = CurrentPtr->NextPtr; 希望能有热心的高手指点我一下,非常谢谢 错误结果(Wrong Output): 撷取部分: main.c:33:29: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types] main.c:40:20: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types] main.c:44:29: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types] main.c:45:30: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types] main.c:50:29: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types] 程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档) // Online C compiler to run C program online #include <stdio.h> #include <stdlib.h> typedef struct node { int data; int *NextPtr; }Node; Node *Headnode; void insert_node(int element) { Node *PreviousPtr; Node *CurrentPtr; Node *newNodePtr = malloc(sizeof(Node)); Node *tempNode; if(newNodePtr == NULL) { printf("Not enough space!"); return; } newNodePtr->data = element; newNodePtr->NextPtr = NULL; CurrentPtr = Headnode; if(Headnode == NULL) { Headnode = newNodePtr; return; } if(element < Headnode->data) { newNodePtr->NextPtr = Headnode; Headnode = newNodePtr; return; } while((element > (CurrentPtr->data)) && ((CurrentPtr->NextPtr) != NULL)) { PreviousPtr = CurrentPtr; CurrentPtr = CurrentPtr->NextPtr; } if(CurrentPtr->data > element) { newNodePtr->NextPtr = CurrentPtr; PreviousPtr->NextPtr = newNodePtr; } else { newNodePtr->NextPtr = CurrentPtr->NextPtr; CurrentPtr->NextPtr = newNodePtr; } return; } void Print_node() { Node *Currentnode; Currentnode = Headnode; printf(" %d -->", Currentnode->data); while(Currentnode->NextPtr !=NULL) { Currentnode = Currentnode->NextPtr; printf(" %d -->", Currentnode->data); } if(Currentnode->NextPtr == NULL) printf("NULL"); } int main() { int choice = 0; int element; Headnode = NULL; int del_result; printf("Enter your choice:\n"); printf("1 to insert an element into the list\n"); printf("2 to delete an element from the list\n"); printf("3 to end"); while(choice != 3) { printf("\n?"); scanf("\n%d", &choice); switch(choice) { case 1: printf("Enter a integer: "); scanf("%d", &element); insert_node(element); Print_node(); break; case 3: printf("End of Run"); break; } } return 0; } --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 219.71.109.75 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1631879624.A.1E2.html ※ 编辑: jeffchen106 (219.71.109.75 台湾), 09/17/2021 19:54:14
1F:推 j0958322080: 看起来是你的 next 型别那边有问题 09/17 20:29
2F:推 gusion: 你的NextPtr是指到int,应该要指到struct node才对 09/17 20:29
3F:→ jeffchen106: 对不起不是很懂>< 像第33行报warning的那边,NextPtr 09/18 07:16
4F:→ jeffchen106: 指到的是Headnode,那应该也算是指到struct node啊? 09/18 07:16
5F:推 pponywong: int* NextPtr; 改成 struct node* NextPtr; 09/18 08:54
6F:→ sarafciel: 你把月饼塞进巧克力蛋糕的纸盒拿去送人 就定义上来说 09/18 08:55
7F:→ pponywong: 这个用法是 struct 里面宣告 struct pointer type 09/18 08:55
8F:→ sarafciel: 你还是送了月饼没错 但人家会疑惑怎麽用巧克力蛋糕的外 09/18 08:56
9F:→ sarafciel: 盒也是很合理的呀 09/18 08:57
10F:→ wawi2: 用dummy head可以解决你code里的一堆NULL check 09/18 09:33
11F:→ jeffchen106: 感谢各位!我放进月饼盒之後果然warning解除了! 09/18 15:31







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP