免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 1864 | 回复: 11
打印 上一主题 下一主题

请问这个语句为什么不对? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-16 00:17 |只看该作者 |倒序浏览
int i =5,0;
我觉得这是个逗号表达式,先计算int i = 5的值,在计算0的值,整个表达式的值为0.为什么编译不能通过呢?

论坛徽章:
1
15-16赛季CBA联赛之吉林
日期:2018-05-23 14:31:12
2 [报告]
发表于 2006-09-16 10:10 |只看该作者

回复 1楼 kaddmus 的帖子

哪来的逗号表达式啊,这是一个赋值,是将5这个值赋给i ,它也不会再计算你那个所谓的0的表达式了

论坛徽章:
0
3 [报告]
发表于 2006-09-16 14:10 |只看该作者
原帖由 kaddmus 于 2006-9-15 06:17 发表
int i =5,0;
我觉得这是个逗号表达式,先计算int i = 5的值,在计算0的值,整个表达式的值为0.为什么编译不能通过呢?




        这个想法蛮好的啊~~~~~~~逗号的优先级高于赋值的~~

   但我也不知道怎么说啊`!~~~~~~~~~~~!~~哈哈``我也是初学者```

论坛徽章:
0
4 [报告]
发表于 2006-09-16 14:27 |只看该作者
你要是编译器,下面的你怎么处理:
int i =5,j;

int i =5,0;

论坛徽章:
0
5 [报告]
发表于 2006-09-16 18:33 |只看该作者
你认为0;是有效的表达式, 难道还想强迫编译器接受你的观点?

论坛徽章:
0
6 [报告]
发表于 2006-09-16 19:22 |只看该作者
原帖由 m582445672 于 2006-9-16 14:10 发表




        这个想法蛮好的啊~~~~~~~逗号的优先级高于赋值的~~

   但我也不知道怎么说啊`!~~~~~~~~~~~!~~哈哈``我也是初学者```


是吗?
这里说的可是C/C++,不是其他语言


逗号语法(也称序列)
expr, expr
表达式 逗号 表达式

int i =5, 0;
逗号左面是表达式,其右面是常量0(定义int 0;是非法的),而非表达式,所以错误。

int i = 5, j; // ok
相当于
int i = 5;
int j;

论坛徽章:
0
7 [报告]
发表于 2006-09-17 11:03 |只看该作者
楼主就是想不按规矩出牌,但这是在深入而且熟练的掌握语法以及编译器的知识后才能够尝试的,起步阶段就塌实点吧
共勉!

论坛徽章:
0
8 [报告]
发表于 2006-09-17 13:25 |只看该作者
不知道
    int i = (5, 0);
效果怎样?? :wink:

论坛徽章:
0
9 [报告]
发表于 2006-09-17 21:15 |只看该作者
原帖由 mik 于 2006-9-16 18:33 发表
你认为0;是有效的表达式, 难道还想强迫编译器接受你的观点?


but C++ primer 3rd  p116 :
“表达式由一个或多个操作数(operand) 构成。最简单的表达式由一个文字常量或一个对象构成。一般地,表达式的结果是操作数的右值。例如下面是三个表达式:
void mumble()
{
3.14159;
"melancholia";
upperBound;
}
3.14159 的结果是3.14159 它的类型是double ...”

那么为什么0;不是有效的表达式?

论坛徽章:
0
10 [报告]
发表于 2006-09-17 21:54 |只看该作者
原帖由 kaddmus 于 2006-9-17 21:15 发表


but C++ primer 3rd  p116 :
“表达式由一个或多个操作数(operand) 构成。最简单的表达式由一个文字常量或一个对象构成。一般地,表达式的结果是操作数的右值。例如下面是三个表达式:
void mumble()
{ ...



嗯~,我的表述是有问题。正确的原因 westgarden 已经说得很清楚了,以他为准
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP