11 12行错误需要逻辑0或非0在 main 函数中,求高手指点

[复制链接]
查看11 | 回复4 | 2011-11-4 13:17:11 | 显示全部楼层 |阅读模式
你写的是int main();最好在getch()后加个return 0;比较规范,或者改成void main()也行;主要是最后一句错了,printf("++i+++++j++=%d",++i+++++j++);按照词法分析器应该理解为((++i)++)+ ((++j)++),++是个自加赋值运算符,他的运算对象是左值,即只能是整形变量,不能是常数或表达式,++i是表达式,(++i)++就错了...
回复

使用道具 举报

千问 | 2011-11-4 13:17:11 | 显示全部楼层
printf("++i+++++j++=%d",++i+++++j++);第二个"后面加逗号,++j++这种写法是错误的vc6.0下按照++(i++)来解析,而前加这种运算它的右边必须是左值。(i++)很显然不是。printf("((++i)++) + ((++j)++)=%d",((++i)++)+((++j)++));说一下你这句代码吧。...
回复

使用道具 举报

千问 | 2011-11-4 13:17:11 | 显示全部楼层
11 12行建议改成printf("i+++=%d,++j=%d\n",i+++,++j);printf("++i=%d,+++++j++=%d",++i,+++++j++);...
回复

使用道具 举报

千问 | 2011-11-4 13:17:11 | 显示全部楼层
11行i+++ ++j中间有个空格.....12行少逗号.........
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行