变量及结构体 急

来源:百度知道 编辑:UC知道 时间:2024/06/06 06:40:50
1 下列叙述正确的是()
A 用C程序实现的算法可以没有要有输入但必须有输出操作
B 用C程序实现的算法可以既没有输入也没有输出操作
2 # define f(x) (x*x)
main()
{int i1;
i1=/f(2+2);
Printf("%d,i1);

结果是()
计算过程为什么不是这样的呢 :f(4+4)=4+4*4+4
3 做题时依旧不明白全局变量与局部变量,请您解释一下
woid fun2(char a,char b) {printf("%c%c",a,b);}
char a='A,b=B;
void fun1() {a='C';b="D";}
main()
{ fun1();
printf("%c%c",a,b);
fun2("E","F");
}
运行的结果是()(大写字母跟的都是单引号,希望专业人士不要太较真了,我实在不知道怎末打,谢谢)
A CDEF B ABEF C ABCD D CDAB
正确答案是B,我选的是D,望您详解

1题选择B
2题因为宏替换,仅仅把宏名替换成对应的一串符号,并不考虑其含义。(替换前没有运算,所以根本没有4,只有2)。
3不知道你的正确答案是哪来的,但是我认为应该是A项(CDEF).程序从MAIN函数开始,先调用fun1函数,得到a='C',b='D',虽然在fun1函数前有全局变量a,b,但是在函数fun1中已经重新为a,b赋值,所以为CD.后调用函数fun2,传到函数fun2里的是EF,而且,函数fun2只是做了输出屏幕操作,没有别的操作,所以为EF.最后结果就是CDEF(答案A)。