while语句问题 while(y=x)为什么x=1会执行while后的语句而x=0不会?赋值语句应该都是真的都会执行啊?#includemain(){int y;int x=0;while(y=x){printf("世界,您好!\n");}printf("世界,不好!\n");}为什么x=0的时候不

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 20:34:49
while语句问题 while(y=x)为什么x=1会执行while后的语句而x=0不会?赋值语句应该都是真的都会执行啊?#includemain(){int y;int x=0;while(y=x){printf(

while语句问题 while(y=x)为什么x=1会执行while后的语句而x=0不会?赋值语句应该都是真的都会执行啊?#includemain(){int y;int x=0;while(y=x){printf("世界,您好!\n");}printf("世界,不好!\n");}为什么x=0的时候不
while语句问题 while(y=x)为什么x=1会执行while后的语句而x=0不会?赋值语句应该都是真的都会执行啊?
#include
main()
{
int y;
int x=0;
while(y=x)
{
printf("世界,您好!\n");
}
printf("世界,不好!\n");
}
为什么x=0的时候不会跑 printf("世界,您好!\n");
疑问:y=x不是赋值语句吗 跟X的值有什么关系,赋值语句都应该是真啊
while(y=x)都应该跑后面的语句啊

while语句问题 while(y=x)为什么x=1会执行while后的语句而x=0不会?赋值语句应该都是真的都会执行啊?#includemain(){int y;int x=0;while(y=x){printf("世界,您好!\n");}printf("世界,不好!\n");}为什么x=0的时候不
y=x是赋值语句,但是while判断的不是赋值过程,而是内部的值(即y的值);

实际执行的顺序是如下2步,就好理解了:
1 y=x;
2.while(y)