main() { int x=3,y=0,z=0; if(x=y+z) printf("***"); else printf("#...
main() { int x=3,y=0,z=0; if(x=y+z) printf("***"); else printf("###"); } 的输出结果是多少?if里面的东西是x=y+z这个是先执行y+z然后赋给X然后判断X的值真还是假,这里X会变成0是假的,所以执行的是第二句输出好多 ...
...main ( ) { int x=0,y=0,z=0; if (x=y+z) printf(“***”); else...
答案是B 因为C语言中"="是赋值号;if(x=y+z)是计算出y+z的值然后赋值给x,这个式子是永远成立的,所以会输出***;如果说要改错的话,应该改为if(x==y+z),构成逻辑表达式后,才符合程序设计的初衷。
=和==在if()函数中的区别
main(){ int x=3,y=0,z=0;if(x==y+z) \/\/判断x与y+z的值是否相等,显然3不等于0,所以表达式的值为0,程序执行else中的语句 printf("***\\n");else printf("###\\n"); \/\/所以改程序的结果显示为:return 0;}
...{ int x=0,y=0,z=0; if(x=y+z) printf("***"); else printf ("##...
解释:if(x=y+z)成立就执行输出*** 。否则就输出 至于x=y+z是赋值表达式来,赋值表达式的左边值是可以改变的。此处是把y+z值赋给x,即把0赋给x。所以此处的判断值是0,因此判断条件不成立。所以就执行printf ("###");
#include<stdio.h> main() {int x=3,y=
自增与自减运算符可在变量的左边(前缀)与右边(后缀),运算规则教材上有的,手机打字很麻烦
main(){int x=3,y=0,z=5;if(x=y+z)printf("***");else printf("###...
你确定是这个结果? 按道理来说y+z!=0所以括号里为真,所以运行printf("***"); 另外判断的时候是可以加表达式的 只不过此时判断的是这个值是否相等,而是是否为0 我在本机上运行了这段程序,确实是
...main() { int x=3,y; do { y=x--; if(!y) {printf("*");continue...
死循环啊 原因是应为1<=x<=2这句来着,当do了一步后,x=2,然后x一直减一,无论x为多少,因为1<=x这个表达式的结果只有0和1两种情况,它始终小于2,所以会一直循环 如果要是改成while( x<=2 && x>=1 )这样的话就不会了
...main() { int x=1, y=2, z=3; if(x>y) if(y<z) printf("%d", ++...
结果是1 if(y<x)不成立,不执行下面。直接执行else printf(“%d,x++),所以结果为1
if(x=y+z)
if(x=y+z)和if(x==y+z)不一样 如果程序中是if(x==y+z),则选B。x=y+z是赋值语句,结果为0,在if逻辑中表示假,故不能输出***,只能选择else 输出###。故选A
有如下程序 main( ) { int y=3,x=3,z=1; printf(“%d %d\\n”,(++x...
逗号符,表示对这两个表达式执行逗号运算…(x,y)这个表达式的值为y的值 ++x就是将x的值+1后赋给表达式,y++就是先将y拿去计算,在讲y加1 ,