-i++与-(i++)有什么区别,假设i为int型3,那么两个表达式的值是多少?具体的运算过程是怎么样的? 假设i是整型变量i++和++i含义什么?

i \u4e3aint \u578b\u53d8\u91cf\uff0c\u521d\u503c\u4e3a3\uff0c\u8868\u8fbe\u5f0f\u4e3ai ++\u20143,\u8fd9\u662f\u600e\u4e48\u8fd0\u7b97\u7684\u5462\uff1f

i\u5148\u8fdb\u884c\u8fd0\u7b97\u518d\u81ea\u589e1\uff0c\u7ed3\u679c\u4e3a0\uff0ci\u503c\u662f4

\u5728\u4f7f\u7528\u4e86\u8fd9\u4e24\u4e2a\u8868\u8fbe\u5f0f\u4efb\u610f\u4e00\u4e2a\u4e4b\u540e\uff0ci\u7684\u503c\u5c31\u53d8\u6210\u4e86\u539f\u6765\u7684i+1\uff0c\u6bd4\u5982\uff1a
int i=2\uff1b
m=i++\uff1b //m\u4e3a2
System.out.println(i); //i\u6b64\u65f6\u53d8\u62103
n=++i\uff1b//n\u4e3a4
System.out.println(i);//i\u53d8\u62104
\u5b83\u4eec\u7684\u533a\u522b\u7684\u662fi++\u8fd9\u4e2a\u8868\u8fbe\u5f0f\u7684\u503c\u548c++i\u7684\u503c\u4e0d\u540c\uff0c\u524d\u8005\u662f\u628ai\u8d4b\u503c\u7ed9m\u4e4b\u540e\uff0ci\u518d+1\uff0c
\u540e\u8005\u662f\u5148\u628ai+1\u4e4b\u540e\u518d\u8d4b\u503c\u7ed9n\u3002\u53ef\u4ee5\u8fd9\u6837\u8bb0\u5fc6\uff0ci++\u540e\u52a0\u52a0\uff0c++i\u5148\u52a0\u52a0\uff0c\u540e\u52a0\u52a0\u610f\u601d\u662f\u5148\u7528i\u7684\u503c\u518d\u628ai\u53d8\u6210i+1\uff0c\u5148\u52a0\u52a0\u662f\u5148\u628ai+1\u518d\u4f7f\u7528\u6765\u8d4b\u503c\u8fd0\u7b97\u3002

两个表达式的值都是-3,两者运算过程都是:先处理i++,即取出变量i的值3到表达式,并让变量i自增为4,然后表达式的值3再与符号运算符结合,得到-3。

-与++是同个优先级,并且是右结合,因此这里++先于-运算。

-i++的值为-3,i的值为4
-(i++)的值为-3,i的值为4
因为运算符“-”与“++”属于同一优先级,且遵循自右向左的结合性,所以
-i++ = -(i++)。根据”++“的性质,表达式 a=i++ 表示先用i的值赋给a,然后i增1 ;a=++i 表示先将i增1,后赋给a。若i的初值为3,则两表达式运算后i的值都为4。

-i++答案为-3
-(i++)答案为-4
区别在于第二个分了两部运算,即先算括号内的m=i++,然后n=-m
因为这是一个后置自增运算,所以第一个直接先取-3了
大家可以自己随便写两行程序运行一下就知道谁的答案对了

楼主请看下面的答案,

这两个式子的值均为-3

你只需要看是 i++ 还是 ++i

i++ : 先进行式子运算,然后i自加

++i: 先进行自加, 然后进行式子运算

由上所述,-i++与-(i++) 的值均为 -3

而-++i与-(++i)则均为 -4

如果楼主不信,可通过自行验证

验证程序如下:

1、-i++与-(i++) 的值均为 -3 的验证:
#include <iostream>
using namespace std;

void main()
{
int i = 3;
int a = (-i++);

i = 3; // 重置i的值,因为 上面的 -i++ 已经改变了i的值
int b = (-(i++));

cout<<a<<b<<endl;
}

2、-++i与-(++i)均为 -4 的验证
#include <iostream>
using namespace std;

void main()
{
int i = 3;
int a = (-++i);

i = 3; // 重置i的值,因为 上面的 -i++ 已经改变了i的值
int b = (-(++i));

cout<<a<<b<<endl;
}

两个i如果是彼此不相关的量,那么都是 -3了,如果是相关,就前后位置了,看哪个表达式用到的是已经加1的i了.

  • ie涓巈i鍙戦煶鏈変粈涔鍖哄埆?
    绛旓細i鍦ㄥ墠ie锛堟ぐ锛塱e锛堟ぐ锛塱e锛堟ぐ锛夛紝j-ie-ji臎濮愬鐨刯i臎锛沞鍦ㄥ墠ei锛堣锛塭i锛堣锛塭i锛堣锛夛紝m-ei-m猫i濡瑰鐨刴猫i銆傚闀胯緟瀵肩瑪璁 1銆佷粠鍙戦煶涓婂尯鍒嗭細ie鏄敱鍗曢煹姣峣鍙戦煶蹇熸粦鍒板崟闊垫瘝e鏉ュ畬鎴恑e鐨勫彂闊筹紝ei鏄敱鍗曢煹姣峞鍙戦煶蹇熸粦鍒板崟闊垫瘝i鏉ュ畬鎴恊i鐨勫彂闊炽2銆佷粠澶嶉煹姣嶆ц川鏉ュ尯鍒嗭細ie鏈夊悓闊崇殑鏁翠綋...
  • 鍦↗AVA鐨刦or寰幆涓--i>=0;涓巌>=0;--i;鐨勫尯鍒?
    绛旓細棣栧厛浣犺寮勬噦 FOR寰幆 閲屾瘡涓弬鏁扮殑杩愯鏂瑰紡 鐒跺悗鐫涓灏卞彲浠ヨ繋鍒冭岃В浜 姣斿for(int i=10;i<20;i--)杩欓噷i=0鏄垵濮嬪寲鍙橀噺鐨勫硷紱i--鍒板皬浜20鐨勬椂鍊欏氨璺冲嚭寰幆 浠庤繖閲屽彲浠ョ湅鍑 绗簩涓弬鏁板拰绗笁涓弬鏁扮殑浣滅敤 鍗筹細-->=0,鏄厛鎶奿--,鐒跺悗鍜0姣旇緝,鑰宨>=0;--i;鏄厛鎶i鍜0姣旇緝,鐒跺悗i...
  • -i++涓-(i++)鏈変粈涔鍖哄埆,鍋囪i涓篿nt鍨3,閭d箞涓や釜琛ㄨ揪寮忕殑鍊兼槸澶氬皯...
    绛旓細涓や釜琛ㄨ揪寮忕殑鍊奸兘鏄-3,涓よ呰繍绠楄繃绋嬮兘鏄細鍏堝鐞i++,鍗冲彇鍑哄彉閲廼鐨勫3鍒拌〃杈惧紡,骞惰鍙橀噺i鑷涓4锛岀劧鍚庤〃杈惧紡鐨勫3鍐嶄笌绗﹀彿杩愮畻绗︾粨鍚堬紝寰楀埌-3銆-涓++鏄悓涓紭鍏堢骇锛屽苟涓旀槸鍙崇粨鍚堬紝鍥犳杩欓噷++鍏堜簬-杩愮畻銆
  • 鏁板瓧鍚庨潰鍔犱笂i鏄唬琛浠涔鎰忔?
    绛旓細杩欒〃鏄庤繖涓暟鏄櫄鏁般傚湪澶嶆暟A+Bi涓紝褰揃涓嶇瓑浜0鏃讹紝鍙櫄鏁帮紱A=0 锛孊涓嶇瓑浜0鏃跺彨绾櫄鏁般侫,B鍒嗗埆鍙疄閮ㄥ拰铏氶儴 铏氭暟鐨勬潵婧 铏氭暟鐨勫崟浣I鏈鏃╂槸鐢辨鎷夊紩鍑虹殑锛屼粬鍙杋maginary锛堟兂鍍忕殑銆佸亣鎯崇殑锛変竴璇嶇殑璇嶅ご浣滀负铏氭暟鍗曚綅锛孖锛濃垰-1锛屼簬鏄竴鍒囪櫄鏁伴兘鍏锋湁bi鐨勫舰寮.浣嗚櫄鏁扮殑纭畾瑕佸綊鍔熶簬18涓栫邯涓や綅涓氫綑鏁板...
  • 涓绘牸鍜瀹炬牸閮鏈変粈涔鍖哄埆?
    绛旓細鑻辫浜虹О浠h瘝涓绘牸鍜屽鏍肩殑鏌愪簺涔犳儻鐢ㄦ硶灏辨槸绐佺牬璇硶瑙勫垯鐨勭壒璧﹁瑷鐜拌薄銆備竴銆佸綋浜虹О浠h瘝浣滆〃璇椂锛屾寜鍏惰娉曡鍒欏簲鐢ㄤ富鏍煎舰寮忋備緥濡傦細A: Who is there?璋佸湪閭e効锛烞: It's I. 鏄垜銆備絾鏄湪瀹為檯鍙eご浜ら檯涓紝鍑犱箮娌鏈変粈涔浜鸿鈥淚t is I鈥濊繖鏍风殑璇濅簡锛岀敋鑷虫湁浜烘妸鈥淚t is I鈥濈О涓衡滃仛浣滅殑鑻辫鈥...
  • 铏氭暟閮芥槸瑕佸甫i瀵瑰悧 蹇呴』甯﹁繖涓鍙 瑕佹槸涓嶅甫灏辨槸瀹炴暟?
    绛旓細鍙互灏嗚櫄鏁癰i娣诲姞鍒板疄鏁癮浠ュ舰鎴愬舰寮廰 + bi鐨勫鏁帮紝鍏朵腑瀹炴暟a鍜宐*i鍒嗗埆琚О涓哄鏁扮殑瀹為儴鍜岃櫄閮ㄣ備竴浜涗綔鑰呬娇鐢ㄦ湳璇函铏氭暟鏉ヨ〃绀烘墍璋撶殑铏氭暟锛岃櫄鏁拌〃绀哄叿鏈夐潪闆惰櫄閮ㄧ殑浠讳綍澶嶆暟銆俒鍦ㄦ暟瀛﹂噷锛屽皢鍋舵寚鏁板箓鏄礋鏁扮殑鏁板畾涔変负绾櫄鏁般傛墍鏈夌殑铏氭暟閮芥槸澶嶆暟銆傚畾涔変负i=-1銆備絾鏄櫄鏁版槸娌℃湁绠楁湳鏍硅繖涓璇寸殑锛屾墍浠ヂ扁垰...
  • i'm鍜宨鏈変粈涔鍖哄埆?
    绛旓細i涓巌'm 鐨勫垎鍒拰鐢ㄦ硶锛歩鍦ㄥ彞涓厖褰撲富璇紝鍚庡姞鍔ㄨ瘝銆俰'm 鏄富璋撶粨鏋勭殑璇嶇粍锛屽悗鍔犲悕璇嶃傚綋鎯宠〃杈炬槸浠ユ湰韬簩闃愯堪鐨勮鍙ユ椂锛屽彲浠ョ敤i鍋氫富璇紝鏉ヨ〃鏄庤嚜宸辨兂琛ㄨ揪鐨勬剰鎬濓紝闃愭槑瑕佺偣銆傚綋鎯宠〃杈炬湰浜嬫槸浠涔浜猴紝鎴栬呮湰浜虹殑鎯呮劅鏃讹紝鍙互鐢╥'m 锛屾潵鍙欒堪鑷繁鎵澶勭殑浣嶇疆銆傜畝浠嬶細鑻辫涓汉绉颁唬璇嶏紙Personal Pronoun锛...
  • j涓i鑳界粍鎴浠涔璇?
    绛旓細鍗曢煹姣嶏紙鍙堢О鍗曞厓闊抽煹姣嶏級鏄敱涓涓厓闊虫瀯鎴愮殑闊垫瘝銆傛眽璇瓧闊充腑澹版瘝銆佸瓧璋冧互澶栫殑閮ㄥ垎锛岀О涓洪煹姣嶏紝闊垫瘝鎸夌粨鏋勫彲鍒嗕负鍗曢煹姣嶃佸闊垫瘝銆侀蓟闊垫瘝銆傛櫘閫氳瘽闊垫瘝鍏辨湁涓夊崄涔濅釜锛屽崟闊垫瘝鍏辨湁鍗佷釜锛歛銆乷銆乪銆伱乮銆乽銆伱笺-i锛鍓嶏級銆-i锛堝悗锛夈乪r锛屽叾鐗圭偣鏄嚜濮嬭嚦缁堝彛褰笉鍙橈紝鑸屼綅涓嶇Щ鍔ㄣ傛眽璇瓧闊充腑澹版瘝...
  • dvi- d鎺ュ彛涓巇vi- i鎺ュ彛鏈変粈涔鍖哄埆?
    绛旓細褰揇VI-I鎺GA璁惧鏃讹紝灏辨槸璧峰埌浜咲VI-A锛12+5锛夌殑浣滅敤锛涘綋DVI-I鎺VI-D璁惧鏃讹紝渚胯捣浜咲VI-D鐨勪綔鐢ㄣ備负浜嗗吋瀹逛紶缁熺殑妯℃嫙鏄剧ず璁惧锛屽ぇ閮ㄥ垎鏄惧崱閮介噰鐢ㄤ簡24鍙暟瀛椾俊鍙烽拡鑴氬拰5鍙ā鎷熶俊鍙烽拡鑴氱殑DVI-I鎺ュ彛銆3銆佸悜涓嬪吋瀹 濡傛灉鏄剧ず鍣ㄦ垨鑰呮槸鏄惧崱鏄疍VI-I鐨勬帴鍙o紝鍒橠VI-D鐨勭嚎锛屾槸鍙互鐢ㄧ殑锛屾晥鏋滄槸瀹屽叏娌℃湁...
  • &&涓巪|杩愮畻绗鏈変粈涔鐗圭偣?
    绛旓細&&鏄笌杩愮畻銆 ||鏄垨杩愮畻 銆&&銆亅|閮芥槸閫昏緫杩愮畻锛岃繍绠楃粨鏋滄槸鐪燂紝鎴栬呭亣銆 &鍜 | 鏃㈡槸閫昏緫杩愮畻绗︿篃鏄綅杩愮畻绗︼紝鑰&&鍜寍|鍙槸閫昏緫杩愮畻绗︺&& 涓庤繍绠楋細涓や釜鍙橀噺鍙備笌&&杩愮畻鏃讹紝鍙湁褰撲袱涓彉閲忓潎涓簍rue鏃讹紝杩愮畻缁撴灉鎵嶄负true锛屽惁鍒欑粨鏋滀负false銆倈|鎴栬繍绠楋細涓や釜鍙橀噺鍙備笌||杩愮畻鏃讹紝褰撲袱涓彉閲忔湁涓...
  • 扩展阅读:-(-68)化简 ... 粟米 ... 什么意思+(-5) ... i++ i++ i++ ... i++与++i区别 ... i++与++i有什么异同之处 ... i++和++i的用法例子 ... i+i什么意思 ... i++和++i的异同之处 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网