5个回答
展开全部
是( i++)+j
C/C++编译器在遇到符号时,总是一直将相邻的下一个操作闷谈猛符纳蚂桥入当前解释的表达式中,除非新加入的操作符会使原本成立的表达式变成非法结果(贪婪性),例如这一例中,在读取i之后会读取第一个加号,此时一个加号是合法的,所以会继续读取下一个加号,之后判断发现两个加号也是合侍者法的,所以继续读取第三个加号,此时发现三个加号的操作符是不合法的,不存在这样的操作符,于是不读取第三个加号,将i与前两个加号结合生成了i++的运算,第三个加号和后面的j则参与普通的加法运算。
C/C++编译器在遇到符号时,总是一直将相邻的下一个操作闷谈猛符纳蚂桥入当前解释的表达式中,除非新加入的操作符会使原本成立的表达式变成非法结果(贪婪性),例如这一例中,在读取i之后会读取第一个加号,此时一个加号是合法的,所以会继续读取下一个加号,之后判断发现两个加号也是合侍者法的,所以继续读取第三个加号,此时发现三个加号的操作符是不合法的,不存在这样的操作符,于是不读取第三个加号,将i与前两个加号结合生成了i++的运算,第三个加号和后面的j则参与普通的加法运算。
2014-03-22
展开全部
i 粗烂 ++ + j
<标识符> 判凳判 掘改 <运算符> <运算符> <标识符>
编译器读取的时候是贪婪的,只要从左到右能读入两个字符就不会只读入一个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上面两位网友的回答都是正确的。该表达式先执行i+j求和,然后对i的值进行++操作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>毁友
void main()
{
int i = 10;
int j = 20;
printf("%d"卜颤,i+++j);
printf("\ni=%d j=%d"型余败,i,j);
}
测试后 发现 等同于 ( i++)+j
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询