C语言中有关if语句的问题

#include <stdio.h>
void main()
{
int x=10,y=20,t=0;
if(x=y)t=x;x=y;y=t;
printf("%d %d\n",x,y);
}

结果是20 20;
我不晓得是怎么得来的
详细讲讲啊
还有将if()中的“=”换成“=”
结果怎么不一样啊!
先谢谢了!

首先 你要理解 =与==的区别
=是赋值 即把=右边的值 赋值给=右边的
x=10 就是把10赋值给 x 这时候x的值就是10
==是比较 两边是否相同 如果相同 返回真 不相同 返回假

#include <stdio.h>
void main()
{
int x=10,y=20,t=0;//x赋值为10,y赋值为20,t赋值为0
if(x=y)//把y的值 赋值给x 这个时候x的值就不是开始的10了 变成了20
t=x;//把x的值赋值给t t变成了20
x=y;//把y的值赋值给x x还是20 因为上面你已经把y 的值赋值给x一次了
y=t;//把t的值赋值给y y的值还是20
printf("%d %d\n",x,y);//输出结果是20 20
}
if(x==y)//判断==两边的值是否相同 x是10,y是20,肯定不同 返回假
t=x;//因为返回时假 所以这句不执行 x没有能赋值给t 所以t的值还是0
x=y;//y赋值给x x的值为20
y=t;//t的值赋值给 y t为0 所以y变成了0

输出结果为20 0
温馨提示:内容为网友见解,仅供参考
无其他回答

C语言中的if判断问题?
if(){} 这条语句的意思是 如果if后面括号内的表达式结果为真,则执行后面大括号内的语句!if(t) { }表示如果t为真 这执行后面{}内的语句if(!t) { } 在t前面加个“!”符号,表示“非t”的意思,就是t如果为真 则“非t”为假 t如果为假 则“非t”为真 ...

C语言if函数的用法
if是C语言中的条件分支语句,用于根据某个条件来选择执行不同的代码块。基本语法为:if(condition){},其中`condition`是一个表达式,其值为真或假。如果`condition`为真,执行`{}`中的代码;若为假,则不执行。若要实现二选一的执行逻辑,可以添加else语句:if(condition){}else{}。注意点包括:...

求c语言高手指点关于if函数的问题
这个问题有点意思。说实话,第一种写法是不被推荐的,因为第一个 if 的括号里面的意思是:先运算 a > 0 ,再运算 b > 0 ,最后取 b > 0 的值(真或假,即非0或0)作为 if 的判断条件。逗号也是 C 语言中的运算符,在 C 语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值...

c语言 if 语句的问题
if(1)语句1;当括号里是1,就会执行语句1,如果是0,就不会执行这个条件语句。但如果if语句有else语句,如 if(1)语句1; else 语句2;就会当括号里是1,就会执行语句1,如果是0,就会执行else后面的语句2.

C语言中的if语句问题:
因为if里面的条件是短路条件。因为 ++a>0 是true,所以不再执行 后面的++b>0 了。因此,b的值没有变。你的选择题答案是B,因为 A 中 1 默认是int,而另外的三个变量也都是 int变量。因此表达式最后的结果也会是int型的,也就是说最后的结果是不会有小数的,而是只保留整数部分。而B 就不同...

c语言if语句问题。。。
if(a=12)注意这里是a=12,而不是a==12,所以if里面是一个赋值,赋值表达式的返回值就是所赋的值,所以if为真,并且a=12这样后,a被赋值为12 再执行a=a+1;b=b+1;就得到13;1了

c语言有关if语句的问题
当然 回答是,他不是sb这个世界上哪儿来的sb啊?是吧?--然后回过头来说程序。很多类型都可以转换成bool类型。其中之一就是int。当int的值是0的时候就会转换成false也就是刚才 说的不是。如果不是0就会转换成是,也就是true.好了。其实if语句是这样的:if( bool )意思就是问这个bool是是还是不是...

c语言中if后面没有分号为什么会这样啊?
在C语言中,if语句的语法结构是这样的:注意到在if语句的条件后面是用括号括起来的,而不是分号。这是因为if语句是一种控制流语句,用于根据条件的真假来决定是否执行特定的代码块。如果在if语句的条件后面加上分号,就会被解释为一个空语句,相当于没有任何操作。举个例子,如果你写了这样的代码:实际...

C语言中if()函数的几个用法?
if (条件1) { \/\/ 如果条件1为真,则执行以下代码if (条件2) { \/\/ 如果条件1为真且条件2为真,则执行的代码}}条件运算符(三元运算符):条件 ? 表达式1 : 表达式2;如果条件为真,则表达式1的值被使用;如果条件为假,则表达式2的值被使用。if 语句与逻辑运算符结合:if (条件1 &&...

C语言的if语句中要想输入两个语句怎么输入
一、如果是满足条件后执行,可以放置于if之后。在不使用大括号的时候,if语句在满足条件时,仅执行接下来的一条语句,用大括号括起后,就可以执行多条语句了。比如另外,也可以使用逗号语句。比如之前例子中的if部分可以修改为二,把输入语句放在if的条件中。如果输入的每个值都会决定if的判断是否成立,...

相似回答
大家正在搜