(str1=str2)表达式值是什么

来源:百度知道 编辑:UC知道 时间:2024/05/11 01:43:53
如果str1=5;str2=5
这个表达式不是等于1 吗 因为值为真的啊

if(str1=str2) //赋值并判断str1的真假

if(str1==str2)//判断str1和str2是否相等

C语言中的真并不是定义为1的,而是定义为非0,不等于0的所有值都是真:
if (str1==1)和if(str1!=0) 不是等价的

if(str1) 等价于 if(str1!=0)

把str2的值代入str1里,str1原值被替换

如果你想返回boolean值应该使用==,>,<,>=,<=等运算符!

"="是赋值,而"=="却是等号(相当于我数学中的"=")
"str1=str2"代表的是将str2的值赋给赋str1,
一当str2的值为非0时 "str1=str2"这个表达式的值才为真,即等于1;
二当str2的值为0时 "str1=str2"这个表达式的值为假,即等于0

※注意"="与"=="区分※

完全同意 “回答者:张灵悟 - 助理 二级“
"="是赋值,而"=="却是等号(相当于我数学中的"=")
"str1=str2"代表的是将str2的值赋给赋str1,
一当str2的值为非0时 "str1=str2"这个表达式的值才为真,即等于1;
二当str2的值为0时 "str1=str2"这个表达式的值为假,即等于0

※注意"="与"=="区分※

这是复制语句,值为5

str1==str2才是判断语句,值为1