怎么用C语言在Microsoft PowerPoint 中制作动画

Python028

怎么用C语言在Microsoft PowerPoint 中制作动画,第1张

1、运行PowerPoint程序,打开要插入动画的幻灯片。

2、在菜单中选择“插入”选项,从打开的下拉菜单中选择“对象”。会弹出“插入对象”对话框,选择“由文件创建”,单击[浏览],选中需要插入的Flash动画文件,最后单击[确定]返回幻灯片。

3、 这时,在幻灯片上就出现了一个Flash文件的图标,我们可以更改图标的大小或者移动它的位置,然后在这个图标上右击鼠标,选中“动作设置”命令。

4、在弹出的窗口中选择“单击鼠标”或“鼠标移动”两个标签都可以,再点击“对象动作”,在下拉菜单中选择“激活内容”,最后单击[确定],完成插入动画的操作。

是的。这个PPT就是为了说明用void swap2(int x, int y)交换不了通过形参传入的元素。

为什么交换不了?

因为void swap2(int x, int y)的形式参数是传值模式。

C/C++语言规定:以传值模式调用函数,在调用过程中,函数需先将形参做一个拷贝,然后基于新的拷贝进行计算。

如上例,执行调用swap2(a[0],a[1]),swap2会先将a[0]的值拷贝给x,将a[1]的值拷贝给y,然后在函数体内交换x、y的值,这样对a[0]、a[1]毫无影响。

怎样通过函数调用交换a[0]、a[1]的值?

答案是:通过传引用调用,即将函数声明为void swap2(int&x, int&y)。

C++语言规定:引用可以看作是变量的别名。别名类似于人的小名之类,一个人大名、小名虽不同,但都指的是这个人。

同样如上例,执行调用swap2(a[0],a[1]),swap2将x视作a[0]的别名、将y视作a[1]的别名,这样在函数体内交换x、y的值,实际上交换的是a[0]、a[1]的值。

引用是C++语言引入的特性,C语言中没有引用。若要用C语言实现通过函数交换a[0]、a[1]的值,怎么办?

答案是:模拟传引用调用,即将函数声明为void swap2(int* xp, int* yp)。

模拟传引用调用本质上仍是传值调用,只不过传入函数的是原始参数的地址

同样如上例,执行调用swap2(a+0,a+1),a+0是a[0]的地址,a+1是a[1]的地址。相应地,swap将a[0]的地址值拷贝一份给xp,将a[1]的地址值拷贝一份给yp。函数体内,swap2通过xp、yp即a[0]、a[1]的地址的新拷贝,操纵a[0]、a[1]的值。

这种方式除了需要改造swap2的声明,还需改造swap2的函数体,即其实现。