C语言编程作业,求解答 5
作业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的形参是值传递,实参传值给形参,子函数无法改变实参的值;要改变得传址。
作业三:
顺序查找法适应性好,可以适用在无序和有序数组查找;
折半查找法只适用于有序数组,无序查找会失败;但是在有序数组查找时查找效率高于顺序查找。