C语言自增自减运算符用法
看了一下教材,看不太懂,不知道大家有不有讲解此方面的文章,谢谢,或者举例!什么前缀单目,后缀单目的啊,真的看不懂,看了几个书上的例子,我不知道是书错了,还是我理解有问题,...
看了一下教材,看不太懂,不知道大家有不有讲解此方面的文章,谢谢,或者举例!
什么前缀单目,后缀单目的啊,真的看不懂,看了几个书上的例子,我不知道是书错了,还是我理解有问题,真的不明白?
例如,前目单缀是先运算再使用对象,后缀单目是先使用对象再运算,如何理解?
假若有:int a=3,b=4
++a+b 的值是不是8啊,变量后a的值是4,运算:是不是(++a)+b啊
a+++4 的值是不是也是8啊,变量后a的值是多少啊,运算是不是:++(a+4)啊,真的有点不明白,希望懂的人告知,谢谢!
a+++4等价于(a++)+4 从左到右尽可能多的取运算符
先理解自增自减的含义,他的作用就是使变量加一,这个是不会受到是前缀或是后缀的影响的
(a++)+4=7 a=4
这如何理解啊,我怎么觉得这个的值应该是8怎么会是7呢? 展开
什么前缀单目,后缀单目的啊,真的看不懂,看了几个书上的例子,我不知道是书错了,还是我理解有问题,真的不明白?
例如,前目单缀是先运算再使用对象,后缀单目是先使用对象再运算,如何理解?
假若有:int a=3,b=4
++a+b 的值是不是8啊,变量后a的值是4,运算:是不是(++a)+b啊
a+++4 的值是不是也是8啊,变量后a的值是多少啊,运算是不是:++(a+4)啊,真的有点不明白,希望懂的人告知,谢谢!
a+++4等价于(a++)+4 从左到右尽可能多的取运算符
先理解自增自减的含义,他的作用就是使变量加一,这个是不会受到是前缀或是后缀的影响的
(a++)+4=7 a=4
这如何理解啊,我怎么觉得这个的值应该是8怎么会是7呢? 展开
6个回答
展开全部
++a是先自加后操作,a++是先操作后自加,--也类同。
a+++4这种题是很容易混淆的,而且对于一些运算规则,不同的编译系统有不同的规定,不建议楼主使用。
如果是作业题的话,直接用程序运行看看结果是多少就行了。
a+++4这种题是很容易混淆的,而且对于一些运算规则,不同的编译系统有不同的规定,不建议楼主使用。
如果是作业题的话,直接用程序运行看看结果是多少就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a+++4等价于(a++)+4 从左到右尽可能多的取运算符
先理解自增自减的含义,他的作用就是使变量加一,这个是不会受到是前缀或是后缀的影响的
(a++)+4=7 a=4
先理解自增自减的含义,他的作用就是使变量加一,这个是不会受到是前缀或是后缀的影响的
(a++)+4=7 a=4
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a+++4难道是++4优先????
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a[3];
for(i=0;i<3;) scanf("%d",a[i++]);
正确
int a[3];
for(i=0;i<3;) scanf("%d",a[++i]);
下标越界
for(i=0;i<3;) scanf("%d",a[i++]);
相当
for(i=0;i<3;){scanf("%d",a[i]);i++;}
即
for(i=0;i<3;i++) scanf("%d",a[i]);
而
for(i=0;i<3;) scanf("%d",a[++i]);
相当
for(i=0;i<3;){i++;scanf("%d",a[i]);}
所以下标越界
for(i=0;i<3;) scanf("%d",a[i++]);
正确
int a[3];
for(i=0;i<3;) scanf("%d",a[++i]);
下标越界
for(i=0;i<3;) scanf("%d",a[i++]);
相当
for(i=0;i<3;){scanf("%d",a[i]);i++;}
即
for(i=0;i<3;i++) scanf("%d",a[i]);
而
for(i=0;i<3;) scanf("%d",a[++i]);
相当
for(i=0;i<3;){i++;scanf("%d",a[i]);}
所以下标越界
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询