C语言编程作业,求解答

如题所述

作业1:result(int)= c (char) * i (int) + f (float) / d (double) -(f + i);

第一步:f+i, 一个float和int相加,按精度高的float进行计算,结果为float

result = char * int + float/double - float;

第二步:char * int, 他们都是整数相加为int

result =int + float/double - float;

第三步:float/double,按精度高的double进行计算结果为double

result =int + double - float;

第四步:int + double 结果为double

result =double - float;

第五步:double - float 结果为double,result为整形,赋值给整形会强制把double转化成int,保留整数。


作业二:

a=3, b=5


原因,swap的形参是值传递,实参传值给形参,子函数无法改变实参的值;要改变得传址。


作业三:

顺序查找法适应性好,可以适用在无序和有序数组查找;

折半查找法只适用于有序数组,无序查找会失败;但是在有序数组查找时查找效率高于顺序查找。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-06-02
c语言的参数传递和值传递的区别,你的这个定义方法传入的是a和b的副本所以就没办法改变,如果传入的是引用或者指针就可以了。本回答被网友采纳
相似回答