|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 对赋值运算左值的要求不解?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
2311
人关注过本帖
标题:
对赋值运算左值的要求不解?
只看楼主
加入收藏
wubizao
来 自:荆州长大电信
等 级:
新手上路
帖 子:223
专家分:0
注 册:2006-6-24
楼主
收藏
问题点数:0 回复次数:12
对赋值运算左值的要求不解?
int
a=4;
(a++)+=a;
这个表达式是错误的,因为左侧不是一个有效变量,不能赋值,可改为:(++a)+=a;
对于上面这道题目不是很理解.
赋值运算符的左边应该是一个可修改的左值.
对于可修改的左值不甚理解
望赐教
搜索更多相关主题的帖子:
赋值
运算
变量
int
2007-11-27 08:30
举报帖子
使用道具
赠送鲜花
万兽无缰
等 级:
新手上路
威 望:
1
帖 子:296
专家分:0
注 册:2007-8-27
第
2
楼
收藏
得分:0
不晓得怎么解释~~~
女朋友问我想怎么死~~~
我说我想"爽死"
2007-11-27 09:04
举报帖子
使用道具
赠送鲜花
wubizao
来 自:荆州长大电信
等 级:
新手上路
帖 子:223
专家分:0
注 册:2006-6-24
第
3
楼
收藏
得分:0
希望大家都冒出来
帮忙解释哈
在路上走,看见了C,从此爱上了她
2007-11-27 09:28
举报帖子
使用道具
赠送鲜花
sky_yang_sky
等 级:
论坛游民
威 望:
8
帖 子:481
专家分:16
注 册:2007-5-30
第
4
楼
收藏
得分:0
也就是這個值可以是變量,但不可以是常數和表達式。a++是先賦值再運算,所以是一個表達式,而++a是先運算再賦值所以在這兒它是一個變量
你微笑的面對整個世界,整個世界也將會微笑的面對你。
2007-11-27 10:30
举报帖子
使用道具
赠送鲜花
cosdos
来 自:ShangHai
等 级:
蜘蛛侠
威 望:
6
帖 子:2109
专家分:1385
注 册:2007-6-19
第
5
楼
收藏
得分:0
(++a) += a;
(a++) += a;
// 这2个都是错的。
可修改的左值:就是说左值是一个可以改变的值,即变量。
const a = 4;
a = 5;
/* 这是不允许的 */
[[italic] 本帖最后由 cosdos 于 2007-11-27 12:31 编辑 [/italic]]
—>〉Sun〈<—
2007-11-27 12:01
举报帖子
使用道具
赠送鲜花
wubizao
来 自:荆州长大电信
等 级:
新手上路
帖 子:223
专家分:0
注 册:2006-6-24
第
6
楼
收藏
得分:0
我是太愚钝了?
对LS BZ的解释还是不太明白.....
在路上走,看见了C,从此爱上了她
2007-11-27 12:02
举报帖子
使用道具
赠送鲜花
wubizao
来 自:荆州长大电信
等 级:
新手上路
帖 子:223
专家分:0
注 册:2006-6-24
第
7
楼
收藏
得分:0
越来越糊涂了
我的想法是可修的左值就是变量
我用vc试了下
果然两个都是错误的!
D:\program\test.c(5) : error C2106: '+=' : left operand must be l-value
在路上走,看见了C,从此爱上了她
2007-11-27 12:06
举报帖子
使用道具
赠送鲜花
cosdos
来 自:ShangHai
等 级:
蜘蛛侠
威 望:
6
帖 子:2109
专家分:1385
注 册:2007-6-19
第
8
楼
收藏
得分:0
可修改的左值就是变量啊
const a = 4;
/* a 是一个不可修改的量 */
a = 5;
/* 这是不允许的 */
[[italic] 本帖最后由 cosdos 于 2007-11-27 12:26 编辑 [/italic]]
—>〉Sun〈<—
2007-11-27 12:24
举报帖子
使用道具
赠送鲜花
cosdos
来 自:ShangHai
等 级:
蜘蛛侠
威 望:
6
帖 子:2109
专家分:1385
注 册:2007-6-19
第
9
楼
收藏
得分:0
a++ += a;
++a += a;
这当然不允许,怎么能允许呢!
赋值运算符左值必须是一个变量,但 ++a 和 a++ 这个可不是一个变量,而是一个有2个标识符表达式,即 a 和 ++。
a += a++;
// 合法
a += ++a;
// 合法
[[italic] 本帖最后由 cosdos 于 2007-11-27 12:32 编辑 [/italic]]
—>〉Sun〈<—
2007-11-27 12:30
举报帖子
使用道具
赠送鲜花
wubizao
来 自:荆州长大电信
等 级:
新手上路
帖 子:223
专家分:0
注 册:2006-6-24
第
10
楼
收藏
得分:0
若有所悟
3Q!
在路上走,看见了C,从此爱上了她
2007-11-27 12:33
举报帖子
使用道具
赠送鲜花
13
1/2页
1
2
快速回复:
对赋值运算左值的要求不解?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.049248 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved