家庭作业第三章

xp ? *xp : 0这个语句是不能被编译成条件传送语句的。因为如果是条件传送语句,那么不论xp为什么,*xp都会被计算。

我们要写一个和该功能完全一样的能编译成条件传送语句的函数。

于是,我们要想办法不使用*xp,而使用一个替代的指向0的非空指针。

int cread_alt(int *xp)
{
    int t = 0;
    int *p = xp?xp:&t;
    return *p;
}

时间: 2024-10-30 11:15:18

家庭作业第三章的相关文章

家庭作业——第三章

第三章家庭作业    3.69和3.70 3.69 A:long trace(tree_ptr tp)    {        long ret = 0;        while(tp != NULL)        {           ret = tp->val;           tp = tp->left;        }        return ret;    } B:作用是从根一直遍历左子树,找到第一个没有左子树的节点的值. 3.70 A:long traverse(t

3月9日 作业 第三章知识点

一问信息系统集成有哪些特点?答:(1)信息系统集成要以满足用户需求为根本出发点    (2)信息系统集成不只是设备选择和供应,更重要的,它是具有高技术含量的工程 过程,要面向用户需求提供全面解决方案:其核心是软件    (3)系统集成最终交付物是一个完整的系统而不是一个分立的产品.    (4)系统集成包括技术,管理和商务等各项工作,是一项综合性的系统工程.技术 是系统集成工作的核心,管理和商务活动是系统集成项目成功实施的保障. 二问信息系统生命周期中的开发阶段包含哪些阶段?答:生命周期包含4个

家庭作业第四章

4.48 取指阶段 icode:ifun = M1[PC] = C:0 rA:rB <= M1[PC+1]  valC <= M4[PC+2]  valP <= PC + 6 译码阶段 valB <= R[rB] 执行阶段 valE <= valB + valC     SetCC 访存阶段 写回阶段 R[rB] <= valE 4.50 取指 bool need_regids =   icode in { IRRMOVL, IOPL, IPUSHL, IPOPL, I

家庭作业——第二章和第三章

第二章 2.59和2.66 2.59  编写一个C表达式,使它生成一个字,由x的最低有效字节和y的剩下的字节组成.对于运算数x=0x89ABCDEF和y=0x76543210,就得到0x76432EF. 答:(x&0xFF)|(y&~0xFF) 验证: 2.66  写出代码实现如下函数: /* *Generate mask incicating leftmost 1in x.   Assume w=32. *For example 0xFF00 ->0x8000, and 0x660

第四章家庭作业4.45

第四章家庭作业---4.45 题目要求: A 用指针索引的方式编写相同的数组索引的冒泡程序C代码 B 将所得的C程序用Y86程序表述出来 解题思路: 1 将题目所给的数组元素代码转换成指针索引的代码 具体方法为:将指针赋给数组的头地址,然后按位移动指代 C格式:int *data=a; *(data+i); 2 将程序复写,并加入头文件以及主函数使其能正常调用以及相应传参 3 将所得的C程序汇编一下获得相应的汇编代码 格式:gcc -S xxx.c  -o  xxx 4 利用所得的汇编代码,用正

20135223何伟钦—第六章家庭作业

第六章作业 一.家庭作业6.36(20135203&&20135223) (由于题6.36与6.35基本题型一样,只是高速缓存的数据字节不一样,我直接把6.35题目修改后作为6.36题目) 考虑下面的矩阵转置函数: typedef int array[4][4]; void transpose2(array dst,array src) { int i,j; for(i=0;i<4;i++) { for(j=0;j<4;j++) { dst[i][j]=src[j][i]; }

第三次作业:五章感想和问题

第一章: 这一章主要讲了软件是什么还有软件工程是什么. 通过这一章入门就能有个概念去知道我们要学的这一本书最主要学的是什么. 而且也大概介绍了下软件的发展阶段,有促进我们对这一所学的东西的历史了解. 我想知道学这个和我们学的编程软件有什么联系? 第二章: 这章介绍了完整的功能实现需要的代码的流程步骤.而这一代码的流程实现 与个人的技术息息相关,个人的能力问题是个重要的因素. 那个人的技术可以怎么来提高呢? 第三章: 这章主要讲了软件工程师的发展和这一职业的发展. 我们该如何去适应这一职业的发展和

《accelerated c++》第三章练习

(测试环境为windows8下vs2013) 3-0编译运行测试本章程序 #include <iomanip> #include <ios> #include <iostream> #include <string> #include <algorithm> #include <vector> using namespace std; int main() { cout << "please enter your

20135206于佳心-家庭作业3.63

第三章家庭作业 选题:3.63 分值:两分 作业过程: int sum_col(int n,int A[E1(n)][E2(n)],int j) { int i; int result = 0; for(i=0;i<E1(n);i++) result += A[i][j]; return result; } 上面是原来的代码 汇编代码 movl 8(%ebp),%edx ;edx:n leal (%edx,%edx),%eax ;eax:2n leal -1(%eax),%ecx ;ecx:2n