永发信息网

c语言程序问题??自加与自减

答案:1  悬赏:30  手机版
解决时间 2021-04-03 05:33
c语言程序问题??自加与自减
最佳答案
一个整数自身加一可以这样写:
a+=1;
它等价于a=a+1;。
但是在C语言中还有一种更简单的写法,就是a++;或者++a;。这种写法叫做自加或自增;意思很明确,就是自身加一。
相应的,也有a--和--a,叫做自减,表示自身减一。
++和--分别称为自增和自减运算符。
自增和自减的示例:

#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 10, b = 20;
printf("a=%d, b=%d\n", a, b);
++a;
--b;
printf("a=%d, b=%d\n", a, b);
a++;
b--;
printf("a=%d, b=%d\n", a, b);
system("pause");
return 0;
}

运行结果:

a=10, b=20

a=11, b=19

a=12, b=18
自增自减完成后,会用新值替换旧值,并将新值保存在当前变量中。自增自减只能针对变量,不能针对数字,例如10++是错误
的。

值得注意的是,++ 在变量前面和后面是有区别的:
++ 在前面叫做前自增(例如 ++a)。前自增先进行自增操作,再进行其他操作。

++ 在后面叫做后自增(例如 a++)。后自增先进行其他操作,再进行自增操作。
自减(--)也一样,有前自减和后自减之分。
请看下面的例子:
#include <stdio.h>

#include <stdlib.h>
int main()
{
int a=10, a1=++a;
int b=20, b1=b++;
int c=30, c1=--c;
int d=40, d1=d--;
printf("a=%d, a1=%d\n", a, a1);
printf("b=%d, b1=%d\n", b, b1);
printf("c=%d, c1=%d\n", c, c1);
printf("d=%d, d1=%d\n", d, d1);
system("pause");
return 0;
}

输出结果:

a=11, a1=11

b=21, b1=20

c=29, c1=29

d=39, d1=40
a、b、c、d 的输出结果相信大家没有疑问,下面重点分析a1、b1、c1、d1:

1) 对于a1=++a,先执行++a,结果为11,再将11赋值给a1,所以a1的最终值为11。而a经过自增,最终的值也为11。
2) 对于b1=b++,b的值并不会立马加1,而是先把b原来的值交给b1,然后再加1。b原来的值为20,所以b1的值也就为20。而b
经过自增,最终值为21。
3) 对于c1=--c,先执行--c,结果为29,再将29赋值给c1,所以c1的最终值为29。而c经过自减,最终的值也为29。
4) 对于d1=d--,d的值并不会立马减1,而是先把d原来的值交给d1,然后再减1。d原来的值为40,所以d1的值也就为40。而d经
过自减,最终值为39。
可以看出:a1=++a;会先进行自增操作,再进行赋值操作;而b1=b++;会先进行赋值操作,再进行自增操作。c1=--c;和d1=d--;也
是如此。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
单选题在现代网络条件下,意识形态的斗争并没
有没有人知道LISA.LISA丽莎女装的衣服都什么
京胡筒子内径指的是蒙皮的那面还是不蒙皮的那
亳州2016什么气候下雪
鑫源足贴怎么样
上海嘉定周边哪里好玩?只有周末一天的时间。
西昌在哪?是个什么样的地方?哪里风景怎么样
谁能介绍一下山东省德州市陵县的来历啊
美国联想八通道的电脑是官翻机吗
若两平行直线3x-2y-1=0,6x+ay+c=0之间
华字在五行中属什么
魔兽世界玩盗贼玩了想删号,afk了很久重新玩
马乐侈这个名字打分
现在海信推出的智能全自动洗衣机耗电量大吗?
公元2007年农历二月十七日是阳历的几月几号
推荐资讯
用日本佑天兰果冻面膜脸疼怎么回事?之前一直
单选题下列说法不符合板块构造学说的是A.全球
有35块糖按淘气笑笑方方强强的顺序,每人每2次
广西南宁市横县横洲镇横洲街
现有七枚硬币均正面(有面值的面)朝上排成一
骐达火花塞可以用DENSO公司的SKJ20dr-M11s型
解答题利用身边的器材可以做很多小实验来验证
芝麻片的做法
hm1sw怎样获取root权限
7*22*13巧算
那种比枸杞大一点,样子像紫茄一样的果是什么
原矿煤与配掺煤对运行有什么区别
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?