问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

warning: cast from pointer to integer of different size

发布网友 发布时间:2023-08-08 06:34

我来回答

5个回答

热心网友 时间:2023-09-20 05:39

修改成:p=(void *)((unsigned int)a + (unsigned int)b);

错误原因:

首先一点,两个地址相加没有意义,地址加一个偏移量才有意义,你一行实质是两个地址相加;

如果你想练习使用指针访问变量的值,从而得到1000+11的结果,那么就是int c = *a + *b; 最后结果是一个数字,不是地址,所以不要赋给p;

如果你想要p指向最后得到的结果,那么再增加一行p=(void*)&c。

相关警告及解决办法:

显示:warning: implicit declaration of function 'Example()'。

警告原因:在你的.c文件中调用了函数Example(),可是你并没有把声明这个函数的相应的.h文件包含进来,有可能你在一个.c文件中定义了这个函数体,但并没有在.h中进行声明。

解决方法:你可以在调用这种函数的.c文件的一开始处加上:extern Example()或者可以在调用这种函数的.c文件中包含进声明了函数Example()的头文件,如果你在一个.c文件中定义了这个函数体,但并没有在.h中进行声明,不嫌麻烦的话,你也可以去生成一个.h文件,加上你的函数声明。

显示:warning: unused variable 'param'。

警告原因:很明显,是您定义了变量‘param',却根本没有使用它。

解决方法:不需要用的话,就删了它吧。

显示:warning: statement with no effect。

警告原因:可能的情况是,在你的文件中,你这么干#define MACROPRINT然后在某一处又定义了#define MACROPRINT printf。然后你在各处引用MACROPRINT(“HELLO”),这样不会出错,但是发生了警告“这个声明是没有用的”。

解决方法:把#define MACROPRINT删掉。

显示:warning: int format, long int arg (arg 3)。

警告原因: 象这样printf("%s%d, szDebugString, ulGwId);你的ulGwId是一个unsigned long型的,而你为它选择的输出形式却是 “%d”(这个格式是为整数型服务的-int)。

解决方法: 这样的错误你只要做到参数类型一致就可以了,象上面的现象,你只要把“%d”改成“%d”就可以了。

热心网友 时间:2023-09-20 05:39

char *是四字节,而long long是8字节,在把char *强转成整型的时候,默认专为4字节,与long long的8字节不匹配,所以告警。

这句直接改为
p=a+b;不就可以了?追问原来是这个长度不一样,明白了。
p=a+b 是不行的 出现:invalid operands to binary + ,这个是什么原因造成的?

追答可能是你的编译器不允许这么干。

改成p=(void *)((unsigned int)a + (unsigned int)b);应该就可以了吧。只是两个地址相加,其和可能超过4字节整型的表达范围,产生溢出。所以一般不会用两个指针相加,而是用一个指针再加一个偏移量。

热心网友 时间:2023-09-20 05:40

这一行问题很多,看起来兄弟是刚刚学习这门语言的
1. 首先一点,两个地址相加没有意义,地址加一个偏移量才有意义,你一行实质是两个地址相加。
2. 如果你想练习使用指针访问变量的值,从而得到1000+11的结果,那么就是int c = *a + *b; 最后结果是一个数字,不是地址,所以不要赋给p
3. 如果你想要p指向最后得到的结果,那么再增加一行p=(void*)&c;

热心网友 时间:2023-09-20 05:40

p=(void *)((long long)a+(char *)b); // a 和 b 都是指针,按说是不能加的,先想好要做什么.
printf("p = %d\n",(void *)p); // %d是整数的格式符号, 改成 %p

热心网友 时间:2023-09-20 05:41

改成
p=(void *)((int)a+(char *)b);
就行了,没必要用long long
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 王珂酒后吐真言:戏子来钱就是快!刘涛回怼8字让他闭嘴,哪八个字呢? 求小说推荐,类型不限,不要小白文,细说一两部你们心目中的神作即可。 AI不知道为什么本来6个画板的源文件CTRL+S变成了一个画板,其余5个画板都不见了 快会计核算是对企业将要发生的经济业务进行核算,对吗? 民法典里有多少种法律 欧瑞博智能触屏开关为啥提示网关离线 商务礼仪仪容包括什么 女黑侠系列是什么小说 有什么传统武侠小说可以介绍吗 紫金县龙窝镇盛丰种养农民专业合作社怎么样? 怎么在网上订酒店 The Happiest Days Of Our Lives 歌词 Days Of Our Lives 歌词 电视剧《娘妻》是不是抄袭《小丈夫秋月》 我是女生,准备向一个暗恋已久的男生表白,求支招,我该怎么向他表白? 脊令的解释脊令的解释是什么 太阳会自转么? 想知道太阳会自转吗? 男女主角在大学恋爱 后来因误会分手 女主去了国外几年后女主回来碰到了男主 男主女朋友和她一样酒精过敏 一本小说女主为男主的前途在大学时候分手了,男主回国后是女主上司但是男主有女朋友了。 redhat系统,php5.5.38安装oracle连接出问题,求解。 关于void*指针的字符printf问题,求C语音高手解答! 为什么腾讯地图有星标 汉朝共几年历史? 异路姻缘的特征 面色赤红要注意 如何评估一家品牌助听器连锁机构是否专业? 《拉格朗日之门》txt下载在线阅读全文,求百度网盘云资源 高中物理单摆周期公式推导 祝大家烦恼高阶无穷小,好运连续且可导,理想一定洛必达,拉格朗日天天照,道路不凸凹,生活不单调,li 裴家同书画作品多少钱一平尺? 一鸿书法一平尺多少钱 梁金元老师的字画值多少钱? 香港与滇越铁路的关系 天龙功放怎么接无线话筒? 请问怎么区分红铜,黄铜,铍铜,锡青铜,铝青铜,杯士铜,铬锆铜? 哪位前辈给我指点指点? 谁知道福建的厦门,石狮,泉洲,晋江,永春,德化,大田哪个地方好玩,有价值 请大家提供一些北方方言词汇 梦见母亲又生了一个儿子的预兆 伪造公司印章罪的成立条件是什么 梦见把自己的衣服借给别人