C语言中a++和--a的区别
a++是首先拷贝自己的副本,然后对真值加一。
++a是对真值加一,然后使用真值。
例子:
int a=0, b, c;
b = a++;
c = ++a;
printf("b=%d, c=%d", b, c);
上述程序段运行结果为b=0,c=2,可以证明理论。而a++和++a本身在单独使用时,与a=a+1是等价的。
扩展资料:
C语言的特性:
1、C语言是一种底层语言 为了适应系统编程的需要,C语言提供了对机器级概念(例如,字节和地址)的访问,而这些都是其他编程语言试图隐藏的内容。
2、C语言是一种小型语言 与许多其他编程语言相比,C语言提供了一套更有限特性集合。(在K&R第二版的参考手册中仅用49页就描述了整个C语言。)为了使特性较少,C语言在很大程度上依赖一个标准函数的“库”。
3、C是一种包容性语言 C假设用户知道自己在干什么,因此它提供了比其他许多语言更广阔的自由度。此外,C语言不像其他语言那样强制进行详细的错误检查。
a++ 是先返回a的值,再执行++运算。
++a 是先执行++运算,在返回a的值。
例如:
#include
int main()
{
int a, b, c;
a = 5; //此时 a的值是5
b = a++; //这一步,a一开始为5, 先返回a的值给b,b就为5了,然后 a执行++,a就为6了。
printf("a = %d, b = %d
", a, b); //输出 a = 6, b = 5
c = ++a; //这一步, a先执行++,a的值就为7了,然后再将a的值返回给c,c也等于7了。
printf ("a = %d, c = %d
", a, c); //输出 a = 7, c = 7
return 0;
}
因为a--是先读取a,然后打印出引号内内容,最后对a自减。
而++a是先对a自加,然后打印引号内容。
an和a的区别,用法区别
如果要打印的值是a++
如printf("%d",a++);
那打印出来的只是A的值.
但是第二次打印的A值就是++后的值.
就是先打印后++;
++A就是先改变A的值,再打印出来.
具体差别你可以自己试着运行比较一下.
a++,是先运算,自己再加1
--a,是先自减1,再运算
C语言中的a-是什么意思
详情请查看视频回答
C语言中的“--”的用法
b = b - 1; 是语句。--b 和 b-- 可以是 表达式 也可以是语句。作为单独语句时,它们 同 b = b - 1; 完全一样。在表达式里,--b 表示 b 先减去 1,再参加运算。在表达式里,b-- 表示 先 参加运算,运算完毕,b 再减去 1。如果 同一个语句 中,--b 或 b-- 作为表达式...
谁能解释一下C++语言中a++,a--和++a,--a这2组运算符有什么不同??_百 ...
++符号,在变量的前面是表示先加后用,倒如 y=++a,如果a 等于3,则先加1,为4,然后赋给y,现在,a=4,y=4;++符号,在变量的后面是表示先用后加,例如 y=a++;如果a 等于3,则先用,把a的值赋给y,然后再加1.现在的,y=3,a=4;--运算符.原理也是一样,不过是减1罢了,...
c语言的那个--a(减减a,a是变量)是什么意思?在for延迟里的具体用法是啥...
--a与a--都是自减运算,差别在于前者先自减再将值代入表达式,后者先计算表达式在自减。a=10 b=--a 这时a=9,b=9 a=10 b=a-- 这时a=9,b=10
C语言中--a的含义是什么?
这个问题我都回答过其他人的了,不过,再给你回答一次,--a是c语言的一个复合表达式,代表两个步骤,在运算中这样理解。如有b=--a。那他的运算是先求a=a-1,然后,再求b=a、
在c语言中!a是什么意思?
C语言中提供了自增1运算符++和自减1运算符-- 而且,这两种运算符,还分为前缀运算和后缀运算 如:int a=5;a++; \/\/后缀运算,表示a=a+1 = 5+1=6 a--; \/\/后缀运算,表示a=a-1 = 6-1=5 --a; \/\/前缀运算,表示a=a-1 = 5-1=4 ++a; \/\/前缀运算,表示a=a+1 ...
C语言里的'a'-'A'是啥意思 看不懂
这是用来大小写字母转换的,在ASCII码里面26个小写字母依次排列,他们的值依次差1.大写字母也是一样的。但是大小写字母数值不是连在一起的,小写的都比大写的大。如果要将一个小写字母转换成大写的,那么要么用那个小写字母减去之间的固定差值就能得到对应的大写字母,你写的这个'a'-'A'就是用来计算...
C语言题,这里的a-是什么意思
你是问a-=2+b么?这是C语言中常用的一种写法。以X,Y为例;X-=Y 表示 X=X-Y 同样,X+=Y表示X=X+Y 对于你的问题,意思是a=a-(2+b)
c语言中n--和--n是什么意思
n--和--n的意思都是让n自减1。1: n--这个表达式的值是n自减之前的值。如:int n=5;int a=n--;此时a的值为5。2 :--n就是在表达式中,先把n自减,再取n的值进行运算。如:int n=5;int a=--n;此时a的值为4。
c语言中,再对文件的操作模式中,a和a+、w和w+、r和r+有什么区别?
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 补充: a和a+、w和w+、r和r+是mode几种...
坚满安赛: 一、运算结果不同 1、a++:运算结果是a表达式结果加上一位. 2、--a:运算结果是a表达式结果减去一位. 二、运算过程不同 1、a++:运算过程中先执行a表达式,之后再执行自增运算. 2、--a:运算过程中先执行自减运算,之后再运行a表...
栖霞市19775128823: c语言中 a++和++a到底是什么意思啊 我老是看不懂 希望说的详细点 谢谢了 - ?
坚满安赛: a++,先使用后计算(对变量a来说) ++a, 先计算后使用(对变量a来说) eg: main(){ int a=0,b=0;printf("%d",a++);/*结果 0 (先使用,在下一次使用a变量时 a=a+1 )*/b=a+1;/*此时a值为1 b值为2(后计算)*/ printf("%d",++a);/* a=a+1后再打印 (同上介绍,先计算后使用)*/}还有不懂的联系 QQ:3807239
栖霞市19775128823: 在C语言中,a++和++a有什么区别? 是不是都相当于VB中的a=a+1? - ?
坚满安赛: a++ 相当于 a , a=a+1 , 即:先用a,然后再进行自增 ++a 相当于 a=a+1, a , 即:先自增,然后再用a如: a=0; while ( a++ < 10 ) {...} 循环10次a=0; while ( ++a < 10 ) {...} 循环9次
栖霞市19775128823: c语言中int a=2,printf("%d%d%d", -- a,a++,--a)输出结果是什么,为什么 - ?
坚满安赛: 例如:首先要区别x++和++x(--同理).x++是先引用再增值,++x是先增值增引用.例如:int x,a,b;x=0;a=x++; //a=0;a=x++是先把x值给a,,操作完再+1,即先做a=x,然后x再+1 b=x; //b=1 int x,a,b;x=0;a=++x; //a=1;++x是先增值再用,即先做x+1...
栖霞市19775128823: 问一下c语言中的++A A++ A_-- A分别是什么意思啊_?
坚满安赛: ++A,是先加1在使用 A++,是先使用在加1 A--,是先使用在减1 --A,是先减1在使用
栖霞市19775128823: 在C语言里,a++;a_-;++a这三个式子都是什么意思啊 - ?
坚满安赛: 你这种情况比较复杂!a++;//后缀++,将a自增1等价于a=a+1 a--;//后缀--,将a自减1等价于a=a-1 ++a;//前缀++,将a自增1等价于a=a-1 前缀与后缀的区别: 前缀时是先进行加1计算,然后再将加1后a的值代入相关表达式进行计算 后缀恰好相反,先将a的值代入表达式进行计算,然后再将a的值加1 如当a=5,b=a++;//计算后a的值为6,b的值为5,因为是后缀,先将a的值赋值给b后,再将a加1 当a=5,b=++a;//计算后a的值为6,b的值也为6,因为是前缀,先将a的值加1,然后将加1后的值赋值给b --与++同理
栖霞市19775128823: c语言里a++和a_-是指在整个语句一致到;结束才执行 还是使用过一次就执行?v - ?
坚满安赛: a++,a--是在当前语句执行后,再做增1运算.
栖霞市19775128823: C语中++a与a++的不同,请举例说明见题,最好能举个例子 - ?
坚满安赛:[答案] a++和++a,前一个先把a用了 然后再给a加一,后一个 先把a自己增加一 然后 再 做运算; 例如: x=5; y=++x; x先加到6,然后再将x的值应用到表达式y=x中,y值为6 x,y都为6 x=5; y=x++; x为6,y为5.
栖霞市19775128823: 谁能解释一下C++语言中a++,a_-和++a, - a这2组运算符有什么不同??_?
坚满安赛: ++符号,在变量的前面是表示先加后用,倒如 y=++a,如果a 等于3,则先加1,为4,然后赋给y,现在,a=4,y=4;++符号,在变量的后面是表示先用后加,例如 y=a++;如果a 等于3,则先用,把a的值赋给y,然后再加1.现在的,y=3,a=4;--运算符.原理也是一样,不过是减1罢了,
栖霞市19775128823: C语言的a++,和++a啊 - ?
坚满安赛: 不是的,亲 .a=1时,无论是a++还是++a;在执行完当前表达式之后a的值都会变化为2.欢迎追问.区别就在于a++是先使用a,然后a自加;++a是a先自加然后再使用a,此时a的值就变化为初始值+1、