有程序段:-./#>''''''' '!'#K':/'202:0则 2 中的值是
! 。一开始 G 是第四个,然后以 G 为界限开始计算 个数,即为 !'
函数 M/:-.N'-.O实现对 N 和 O 值的交换。则执行语句>-./>'K0
M/:/#'/0K后,/# '/ 值不变,此为值传递
值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,
即在堆栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个
副本。值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响
主调函数的实参变量的值。
引用传递(pass-by-reference)过程中,被调函数的形式参数虽然也作为局部变量在堆栈中
开辟了内存空间,但是这时存放的是由主调函数放进来的实参变量的地址。被调函数对形
参的任何操作都被处理成间接寻址,即通过堆栈中存放的地址访问主调函数中的实参变量。
正因为如此,被调函数对形参做的任何操作都影响了主调函数中的实参变量。
设有以下宏定义:*+,-,执行赋值语句 P++;(P 为
-. 型变量)后,P 的值是 。P
整个 是 而不是 '然后因为是先算乘除所以是
若 N 为 -. 型变量,则执行 N0N+N-N+N0语句后,N 的值是 。
计算过程中 Q 值一直在变
有以下程序
R+-.O'-.N
>
OON0NNO0 、连续的值改变
K
R+S/-
>
-.O'N0
O'N0
:6-.<N+'O+T-)'N'O0
K
执行后输出的结果是 。
15、以下选项中非法的字符常量是
A)'\102' B)'\65' C)'\xff' D)'\019'
37、语句 while(E);中的条件 E 等价于 。
A.E==0 B.E!=1 C.E!=0 D.~E
38、语句 while(!E);中的条件!E 等价于 。
A.E==0 B.E!=1 C.E!=0 D.~E
42、以下定义语句中,错误的是 。
A.int a[]={1,2}; B.char *a[3];
C.char s[10]="test"; D.int n=5,a[n];
- 是变量,不能用变量作为数组定义时使用的大小