77问答网
所有问题
C语言,if(表达式)中,表达式如果是一个赋值语句,这个if就会恒真吗?
如题所述
举报该问题
推荐答案 2019-10-18
非零即真,例如
if(a=5)
{
b=3;
c=5;
}
else
d=3;
这个语句没有语法错误(可能会有警告),是可以执行的。
但是这个语句永远没有机会执行else部分。
a=5赋值
表达式
的计算结果就是5,当这个表达式出现在
if语句
逻辑表达式位置上的时候,它的计算结果是被当作逻辑值处理的,在C语言中用
整型
数表示逻辑量,非零表示“真”,所以这是一个永真式;这个if的逻辑条件永远不会为假。
也就是说,这里所表达的逻辑条件并不是“a的内容是否等于5”,而是向变量a中送入数据5。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/NGpI83Yvq3vYNIvq3I.html
其他回答
第1个回答 2019-10-22
不一定,要看给变量赋的值是否为0
*****************************************
尝试以下程序:
#include
<stdio.h>
void
main()
{
int
i;
if
(i=0)
printf("i=0");
if
(i=1)
printf("i=1");
}
这个程序会输出
i=1,也就是说执行了第二个if语句的执行部分。
相似回答
c语言中,
当判断语句为
赋值语句
时,会如何?
答:
恒真,判断结果一直为真;其实还要看你赋值语句对不对,
赋值语句成立,可以成功赋值,则为真,不成立,无法赋值则为假
。
if语句括号中
为
赋值表达式
如何判断真假?
答:
写成if(n1=1)表示的就是恒为真
,逻辑效果与if(1)相同。但是if(n1=1)在表示恒真的同时又为n重新赋了新的值,这个值的生命范围是if以下的{}内的所有代码。它与if(1)的区别就在此!
C语言语句
等价问题
答:
必然不等价。
if(
a=2)首先看
表达式
a=2
,这是一个赋值语句,
执行完后a的值为2,则
if语句
的判断条件相当于if(2
),这
是恒成立的,也就是这里始终为真。if(a==2),只有当a的值为2时,判断才为真,其他情况都是假
c语言if语句表达式
可以是常量值吗,比如
if(
10
),
这样的形式。可以吗,对运...
答:
可以的,只要大于0就是真,小于0就是假
,很多时候都是写个表达式的值放到if的()中用来判断的
C语言中IF语句,表达式
成立判为
1,
不成立判为0.成立则执行
if
后的语句,不...
答:
if(
x==y){ x=1;} else{ x=0;} 当恒等于y时把
1赋值
给x;否则把0赋值给x;
if(1)
a=3; 在
c语言中
是什么意思?
答:
其实就是一句代码 a = 3;的意思。因为
if语句
判断,在
C语言
里面非0为真,0为假。所以
if(1)
是恒为真的。所以就相当于 a =3 ;
c++中
if(
x=10)的含义与if(x==10)的区别?
答:
if(
x=10)——把10赋给x,然后判断x否为0;刚刚赋的值10,当然不为0,所以为“真”;if(x==10)——看看x是否等于10
,如果
等于10则为“真”,否则为“假”。
大家正在搜
c语言中赋值表达式
C语言中表达式的值
c语言中多个条件表达式
c语言中表达式是啥意思
c语言中求表达式的值
c语言中关系表达式的值
c语言中逻辑表达式的值为
C语言中有哪些常用表达式
C语言中表达式包括
相关问题
在C语言的if 语句中,用作判断的表达式是( )a关系表达式...
c语言中x+=x与哪个表达式恒等?
C语言,if(表达式)中,表达式如果是一个赋值语句,这个if...
Switch case 语句怎么使用
若变量定义为int n;,当n的绝对值大于1时,则表达式1/...
设 int n; 下列选择中“结果恒为真”的表达式是( A)...
为什么3<x <5在c 语言中的值恒为一?