分析:
第一次循环,输出x的值为1,接下来判断while后的条件
首先,看--x,该表达式的值是0,在C中,表示逻辑假,再取反,得逻辑真
第二次循环,输出x的值为-2,接下来判断while后的条件,--x,该表达式的值是-3,表示逻辑真,再取反,得到0,表示逻辑假,不成立
所以,输出结果为1 -2
这个式子在C语言中是合法的,并且能够得到结果,%是取模的意思,并不止是求余数,他只要求他的两个操作数是整数。该式子的结果是1
d=10/(-3)=-3
r=10-(-3)*d=1
%运算符需要两边都是整形,所以x%(-3)不合法,b
中使用了逗号运算符,括号的返回值就是最后一个逗号后的表达式的值即a+b,
所以b的确是把a+b付给k。对于12(b),
定义和调用肯定不是一个意思,比方说如下两个函数定义:
void
a(){}
---(1)
void
b(){}
---(2)
我们不可以将(1)整行搬到(2)里吧,
void
b(){
void
a(){}
}
这是定义,但是我们可以在b里调用a,
如下:
void
b(){
a()
}
而递归调用就是自己调用自己,这也是可以的,比如
void
b(){
b()
}