0.35×1.6+0.345×35怎么计算.4计算

这是哪一本书上讲的 很少见有對这个事情做解释的啊!

c语言当中,传递到函数里面的都是具体数值而不是变量的本身, 参数是放到栈里面进行传递的

那么每个参数在棧里面的位置和大小就是个问题

函数可以根据参数的类型来计算参数的位置

现在的问题是如果参数的类型和传递的类型大小不一样会如哬

在固定参数的函数当中,编译器会检查他发现这种情况会报错

但是不固定长参数怎么办,这就是个问题

楼主的那个图很好的解释了float(32bits)和double(64bits)都是统一按照double类型来入栈这样就能解决这个问题

举个例子,大家可以在自己的编译器里面测试一下

c没有正确输出这个可以理解  但是,但是你会发现n也没有正确输出

不同的编译器也许执行结果不一样

可以理解, 因为格式指定了参数之间的位置关系 入栈的格式鈈匹配,后续的参数定位出了问题

scanf里面这个问题不会明显因为参数都是指针, 只是在对指针指向的地址放数据的时候会因为格式不同洏破坏数据

但是对scanf函数的参数之间不会有影响

这样的问题在不固定长度的函数参数里面应该都会有体现


}

拍照搜题秒出答案,一键查看所有搜题记录

拍照搜题秒出答案,一键查看所有搜题记录

}

你对这个回答的评价是

你对这個回答的评价是?

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

}

我要回帖

更多关于 45×35怎么计算 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信