大家好,今天小编关注到一个比较有意思的话题,就是关于c语言i减减的问题,于是小编就整理了3个相关介绍c语言i减减的解答,让我们一起看看吧。
c语言自增自减合法规则?
1、 自增运算符和自减运算符只能用于变量,而不能用于常亮或表达式,如6++或(a+b)++都是不合法的
2、 ++ 和—的结合方向均是“自右向左”。一般情况下算数运算符的结合方向为“自左向右”,如果有-i++,i的左面是负号运算符,右面是自加运算符。如果i的原值等于3,若按照左结合性,相当于(-i)++,而(-i)++是不合法的。
3、如果cout<<-i++<<endl;则先取i的值6,输出-i的值-6,然后i增加为7。而-(i++)是先用i的原值3加上负号输出-3,再对i加1,不要认为先加完1后再加负号,输出-4,这是不对的。
4、 自增(减)运算符常用于循环语句中,使循环变量自动加1;也用于指针变量,使指针变量指向下一个内存地址。
C语言中-i++是什么意思啊?
C语言中,“-j---i”该怎样结合?
题主,你好。严sir很高兴来回答你的这个问题。
首先需要说明的是:在实际工作当中,最好不要写出这样的表达式。因为这样会引起歧义,违反了程序设计的基本原则。
这种表达式,多半都是出现在学习过程中的练习题,或是考试当中。
在表达式当中,结合分为右结合和左结合,而与结合关系紧密的是优先级。
有一个关于结合的基本原则,需要我们切记:在C语言当中,尽量多地保证结合是按左结合:即自左向右进行结合。
按这个原则,问题当中的:-j---i,利用结合就可以分段为(-j--)-i
自增或自减运算符的基本原则是:它们只能与一个变量结合,而不是一个表达式。这样的话,问题当中的:-j---i,就应该理解成(-(j--))-i,而不应该理解成:
((-j)--)-i
按照上面的分析,我们弄清楚了结合方向以后,然后我们假定i=3,j=4,则-j---i表达式的值为-7。
具体计算过程如下:
到此,以上就是小编对于c语言i减减的问题就介绍到这了,希望介绍关于c语言i减减的3点解答对大家有用。