函数参数的传递三种方式(转载)
一. 三道考题开讲之前,我先请你做三道题目。(嘿嘿,得先把你的头脑搞昏才行……唉呀,谁扔我鸡蛋?)1. 考题一:程序代码如下:void Exchg1(int x, int y) { int tmp; tmp=x; x=y; y=tmp; printf(“x=%d,y=%dn”,x,y)}void main(){ int a=4,b=6; Exchg1 (a,b) ; printf(“a=%d,b=%dn”,a,b)}输出的结果:x=____, y=____a=____, b=____问下划线的部分应是什么,请完成。2. 考题二:代码如下。Exchg2(int *px, int *py){ int tmp=*px; *px=*py; *py=tmp; print(“*px=%d,*py=%dn”,*px,*py);}main(){ int a=4; int b=6;
考题分析--直接短语 句柄
从供选择的答案中,选出应填入下面叙述中{ }内的最确切的解答,把相应编号写在答卷的对应栏内。?假设某程序语言的文法如下:?S→a|b|(T)?T→TdS|S?其中:Vt={a,b,d,(,)},Vn={S,T},S是开始符号。?考查该文法,称句型(Sd(T)db)是S的一个A。其中B是句柄;C是素短语;D是该句型的直接短词;E是短语。?供选择的答案?A:①最左推导 ②最右推导 ③规范推导 ④推导?B:①S ②b ③(T) ④Sd(T)?C:①S ②b ③(T) ④Sd(T)?D:①S ②S,(T),b?③S,(T),TdS,b ④(Sd(T)db)?E:①(Sd(T)db) ②d(T) ③Td ④Sd(T)d?【解析】?