不是会发生隐式类型转换吗?

img


为什么这里一直报错,不是能发生隐式类型转换的吗?那要怎么样才能正确运行呢?

main里应该传入swap(&f1, &f2);
而swap函数应当改为:

void swap(float *x, float *y){
  float temp=*x;
  *x=*y;
  *y=temp;
}

float *x 定义的x是指针,x是一个地址值,*x 是这个地址中的数据值。
f1和f2是两个变量数据,&f1 &f2是获取他俩的地址。
指针就相当于钥匙,能打开对应房间(地址)的门。当指针作为函数参数时,实参和形参相当于拷贝的两把钥匙,但他们都指向同一个房间,同一个地址。借由形参访问地址,并改变地址中的值,能够真正修改地址中的值。
希望能解答你的疑惑~望采纳!

是main函数里报错吗?swap函数的定义实际上是有问题的!型参最好用指针,实参传递地址!有问题可以私聊哈!

&是变量取地址符,用在形参上是不妥的。应该用*指针形式

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7577564
  • 这篇博客也不错, 你可以看下宝藏级别的负数取模,让你关于负数取模不在陌生 >o< 进来看看吧
  • 除此之外, 这篇博客: 如何成为嵌入式软件工程师,成为嵌入式工程师赚不赚钱?中的 一、嵌入式软件是什么? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    基于硬件系统开发的软件系统就是嵌入式软件,直白来说,就是你的程序需要在一块板子上进行调试,不同于那种纯软件的程序员,我们的代码都是要驱动具体的一个东西实现功能,拿最常规的流水灯举例,其实就是控制高低电平,使得灯电压进行变化从而进行亮灭。说白了,就是软件作用于硬件。也因此你需要同时了解软件和硬件的知识,软件包括编程语言,数据结构,硬件包括数电模电等等,要学的特别多,很难简单阐述。

    嵌入式能做的东西很多,医疗,工业,物联网,电动汽车。与之对应的平台也多,stm32 dsp esp32 树莓派,每个硬件平台下面还有各种各样的分类,但是我们还是关注其应用场景,嵌入式包括生活中一切场景。

    我现在从事的是嵌入式下面的电机驱动,电机驱动涉及的行业很多,所需要的技术也很多,电机驱动目前主要用于工业机械,电动车,家用电器,玩具等等。应用场景广,应用范围也广。工作了4年,我只能说自己算是刚入行。
    在这里插入图片描述

  • 您还可以看一下 张传波老师的软件设计是怎样炼成的?课程中的 详细设计使用招数小节, 巩固相关知识点

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

完整代码是什么,前面还有100多行是什么,报什么错误?
C语言不支持引用,你这个是c++还是c