.设有int p,q;以下不正确的语句是()

.设有int p,q;以下不正确的语句是()
A、p*=3
B、p/=q
C、p+=3
D、p&&=q
以下程序的输出结果是【 】。
main( )
{ int x=11,y=11;
printf("%d%d\\n",x--,--y);
}
A) 11,11〖〗B) 10,10〖〗C) 10,11〖〗D) 11,10

-------------
第一个题是【D】:
关于op=的形式
op可以使+ - * / %,
a op= b就是a=a op b
就如a+=3就是a=a+3
然而&&是逻辑运算符,那个式子不不是p=p&&q,编译器会理解成p&(缺一个操作数)=p&q
如果是p&=q这样子就能编译通过
也就是大嘴法原则,&已经是有意义的了,编译器就不会再向后看&后面的&
自然就提示缺了操作数
——————————————
第二题【D】
自增自减运算符无非另种形式:前置和后置
前置时表明在这条语句执行之前做自增自减运算
后置则相反
例如sun=i++就是
sum=i
i=i+1
而sum=++i就是
i=i+1
sum=i
明白了吗?所以你那条语句就是
y=y-1;
printf("%d%d\\n",x,y);
x=x-1
输出自然是11 10
D
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-10
设有int p,q;以下不正确的语句是()
A、p*=3
B、p/=q
C、p+=3
D、p&&=q
以下程序的输出结果是【D 】。
main( )
{ int x=11,y=11;
printf("%d%d\\n",x--,--y);
}
A) 11,11〖〗B) 10,10〖〗C) 10,11〖〗D) 11,10

D
第2个回答  2013-07-10
第一题,D是语法错误。第二题选择D.
第3个回答  2013-07-10
DD,第一题&&是代表and 的关系不能那样写