增值和减值操作符

✍ dations ◷ 2024-09-20 12:33:29 #计算机科学

在多数指令式编程语言中,增值和减值操作符指的是一类单目操作符,这些操作符相应地增加或减少其操作数的值。以C语言为例,“++”“--”操作符分别为增值操作符和减值操作符。

增值和减值操作符的操作数可以为整型、字符或者指针等,准确地说,这些操作符只要求其操作数必须为一个左值,也就是要求操作数必须为一个可以用在赋值符号“=”左边的表达式。

  int i = 1;      //运行完这条语句,i被赋值为1  int j = ++i;    //运行完这条语句,i的值增了1变为2,而j的值为“++i”这个表达式的值为2  --j;            //运行完这条语句,j的值减了1变为1,表达式“--j”的值为1但被抛弃
  • 后缀形式的++和--操作符。后缀形式的++和--操作符出现在操作数的后面,应用了这种形式后,操作数本身会相应的增加或减少。同时,表达式的值为操作数增加或减少前的值。用法如下所示:
  int i = 5;      //运行完这条语句,i被赋值为5  int j = i++;    //运行完这条语句,i的值增了1变为6,而j的值为“i++”这个表达式的值为5  j--;            //运行完这条语句,j的值减了1变为4,表达式“j--”的值为5但被抛弃

原理(C语言)

对一个操作数应用增值或减值操作符,抽象来说将会创建一份操作数的拷贝,而创建拷贝的时间则根据操作符是前缀形式还是后缀形式来决定。所以使用这种操作符的表达式,实际用到的正是这份拷贝而不是操作数本身。所以编译器并不允许如i++ = 2;这样的语句出现。

相关

  • 冷冻葬冷冻葬或称冰葬(英语:promession),是一种环保殡葬方式,以冷冻方式把遗体在数分钟内分解成碎片。发明人是瑞典生物学家Susanne Wiigh-Mäsak,她将此命名为“promession”,名称来自于
  • 微孢子虫门微孢子虫(学名:Microsporidia)为罗兹菌门下的一纲。它是由孢子形成的单细胞寄生虫。目前多于一百万种微孢子虫中的1500种版命名。微孢子虫只能寄生于动物宿主。大部分的动物物
  • 凡尔登条约《凡尔登条约》是843年8月,法兰克王国皇帝路易一世(虔诚者)的3个儿子在凡尔登(位于今法国东北部)签订的分割法兰克帝国的条约,该条约结束了持续三年的卡洛林内战。840年路易一世死
  • 酸酐水解酶酸酐水解酶是一类催化酸酐键水解的水解酶。它们被归类于EC编号 3.6。该类中一个众所周知的成员是GTPase。EC 1.1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22
  • 欧猪四国欧猪五国(英语:PIIGS),亦作黑猪五国或五小猪国,是国际经济界媒体对欧洲联盟五个相对较弱的经济体的贬称。这个称呼涵盖葡萄牙(Portugal)、意大利(Italy)、爱尔兰(Ireland)、希腊(Greece)
  • 剑南路站坐标:25°05′05″N 121°33′20″E / 25.08472°N 121.55556°E / 25.08472; 121.55556剑南路站位于台湾台北市中山区,为台北捷运文湖线(内湖线)与计划中的环状线之交会车站。
  • 赵光祖赵光祖(韩语:조광조,1482年8月10日-1519年12月20日),字孝直,号静庵,是16世纪朝鲜王朝的著名思想家及政治家,改革家。他在士林派的领首同己卯士祸中被朝鲜君主中宗赐死,后来在仁宗登位
  • 汉堡排汉堡排(英语译名:Patty)是一种由牛绞肉或其他夹有牛绞肉做成的肉饼。鞑靼牛肉从俄国传入德国后,德国人将鞑靼牛肉煎熟而成,为工人流行的食物,而汉堡为德国工业重镇,故以此地为名。
  • 天皇制国家主义日本法西斯主义,是指日本在第二次世界大战前军事独裁主义的意识形态及政治体制。学术界对于日本在此时期是否属于法西斯主义看法两极,并无共识。二战前多数西方学者与二战后多
  • 多足类多足亚门(或称多足类、多足纲,学名Myriapoda,来自古希腊语μυριάς一万和πούς脚、腿),是节肢动物门下的一类,包含了马陆及蜈蚣等。多足类有超过13000个物种,都是陆地动物。