菜鸟问:"+="与"=="与"="有什么不同

fm4365 2008-01-22 08:36:05
比如:
CString str;
str="sdf"; 与 str+="sdf"; 究竟有什么不一样
pDC->TextOut(0,0,str);

这样在屏幕上输出的结果是一样的,能不能请老师说说
...全文
217 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
UltraBejing 2008-05-01
  • 打赏
  • 举报
回复
好像没那么简单,呵呵.
lord_is_layuping 2008-01-25
  • 打赏
  • 举报
回复
CString   str; 
str+="sdf;
pDC-> TextOut(0,0,str);

等价于:

CString str; //str=null;
str=str+"sdf"; //str=null+"sdf"="sdf"
pDC-> TextOut(0,0,str);
st427607 2008-01-25
  • 打赏
  • 举报
回复
这些书上都有详细说明,应该好好看看书,然后再试试!
webtonny 2008-01-25
  • 打赏
  • 举报
回复
+=是复合运算符,=是赋值符.
==就是等于.
lz2163070 2008-01-24
  • 打赏
  • 举报
回复
str="sdf";
是将sdf这个值赋予str这个变量,
这里的“=”不是等于,而是将一个值赋予变量,这个赋予变量的值,可是是一个表达式、常量、变量等,
也就是说sdf这个值赋予str(变量)。
str+="sdf";
首先这是一个复合表达式,复合表达式就是赋值运算符之间加上其它运算符可以构成复合赋值运算符.
可以将str+="sdf"; 看成str=str+sdf
简单举例
n+=1 等价于 n=n+1
n*=m+3 等价于 n=n*(m+3)
还有一个没学过,不好意思!
DarKL_Arthas 2008-01-24
  • 打赏
  • 举报
回复
简单的说
"+=" 和 "="是赋值语句
例如:a=b 说明把b的值赋给a
a+=b 等价于 a=a+b 意思是把"a+b"的和的值赋值给a
而"==" 则是用于判断前后两者是否相等,并不做赋值用
例如:if(a==b) a=0; 意思为如果 a=b 那么 “0”这个值赋予a
这里要注意,判断相等不能用单等号“=”否则就会出错

你的题中,str+="sdf"可以理解为str=str+"sdf",由于是String类型的,所以显示的不会是数学加和,而是str的值与“sdf”连起来,而str由于定义时没有赋值,因此值为空

不知道你理解了没有
qinanliang 2008-01-24
  • 打赏
  • 举报
回复
"="和“+=”是赋值语句中用的,不同的是一个是直接赋值,另一个是复合赋值
“==”是关系运算符,判断符号左右两端的数据是否相等,是的话返回真,否返回假
pandengesen 2008-01-23
  • 打赏
  • 举报
回复
比如:
CString str;
str="sdf"; 与 str+="sdf"; 究竟有什么不一样
pDC-> TextOut(0,0,str);

答复:
 str+="sdf" 等价于 str=str+"sdf"
==是比较运算符
=是赋值运算符
spob110 2008-01-23
  • 打赏
  • 举报
回复
CString str;
str="sdf"; 与 str+="sdf";
str+="sdf": str=str+"sdf";
== : 在此是两字符串值相同
= :赋值 || 初始化
草原可可 2008-01-23
  • 打赏
  • 举报
回复
= 赋值
+= 运算的加
== 比较运算符
qiuqiu173 2008-01-23
  • 打赏
  • 举报
回复
建议好好再看书
1010骑士 2008-01-23
  • 打赏
  • 举报
回复
:) 正解
web_php 2008-01-23
  • 打赏
  • 举报
回复
= 赋值
+= a+=b等价于 a=a+b
星羽 2008-01-22
  • 打赏
  • 举报
回复

a += c; 等价 a = a + c;

比如

CString str = "aaa";
str = "123"; 后str的值是 123

str += "123" 后str的值是aaa123
agaric 2008-01-22
  • 打赏
  • 举报
回复
看書先,再動腦
qixueqi 2008-01-22
  • 打赏
  • 举报
回复
看书固然重要
刚开始的时候可能不是很懂
所以最好跑一下看看
fm4365 2008-01-22
  • 打赏
  • 举报
回复
谢谢老师
liubingqian 2008-01-22
  • 打赏
  • 举报
回复
建议先仔细看书。
chenzhp 2008-01-22
  • 打赏
  • 举报
回复
= 赋值
+= 比如a+=1 相当于a=a+1
== 是比较运算符
imasmallbird 2008-01-22
  • 打赏
  • 举报
回复
还有“==”就是比较运算赋!!
加载更多回复(1)

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧