问题
单项选择题
下面的程序的结果是 main() {int x=3,y=0,z=0; if(x=y+z)cout<<"* * * *"; else cout<<"# # # #"; }
A.有语法错误不能通过编译
B.输出* * * *
C.可以通过编译,但是不能通过连接,因而不能运行
D.输出# # # #
答案
参考答案:D
解析: 注意本题本意是考察x==y+z,但是少写了一个=,因此逻辑表达式变成了赋值语句,故x的值为0,即假,因此程序执行else部分。本题答案为D。