a++和++a的区别

#include<iostream.h>voidmain(){inta=0;cout<<"a="<<a++<<endl;//a=0cout<<"a="<<++a<<end... #include<iostream.h>
void main()
{
int a=0;
cout<<"a="<<a++<<endl;//a=0
cout<<"a="<<++a<<endl;//a=2
cout<<"a="<<a++<<endl;//a=2
cout<<"a="<<a++<<endl;//a=3
cout<<"a="<<++a<<endl;//a=5
cout<<"a="<<++a<<endl;//a=7
cout<<"a="<<a++<<endl;//a=8
}
后面结果是我的猜测,请问错在哪了?希望能够详细点,谢谢大虾了!
展开
 我来答
床前明月儿
高能答主

2019-08-08 · 探索生活中的另一种可能
床前明月儿
采纳数:101 获赞数:171940

向TA提问 私信TA
展开全部

一、计算结果不同

1、a++:a++的结果跟程序执行过程有关,有可能是加上1,有可能不加1。

2、++a:++a的结果是a加上1。

二、计算过程不同

1、a++:计算过程是先执行a,之后在增加1。

2、++a:计算过程是先加上1,之后再执行a。

三、内存运行不同

1、a++:在内存中寄存器先执行表达式,之后再进一位。

2、++a:在内存中,寄存器先进一位之后再执行表达式。

参考资料来源:百度百科-自增自减运算符

参考资料来源:百度百科-C语言运算符

杭州彩谱科技有限公司
2020-07-03 广告
如果a为5 那么输出 5(a=5) 5(a=4)4(a=5)5(a=6) 6(a=7) 在后就是先使用现在这个变量当前值,在自加 在前就是先自加,再使用这个变量自加后的值 出这种题的都是吃饱撑的,真正编程不会用这种歧义大的写法的。明白就好,... 点击进入详情页
本回答由杭州彩谱科技有限公司提供
宝我想去看看
2021-10-04 · 记录生活热爱生活分享生活
宝我想去看看
采纳数:215 获赞数:9097

向TA提问 私信TA
展开全部

a++和++a的区别是a++是使用的a后,再对a进行加1。++a是先把a加1,然后再使用a。

c语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐。

C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。


相关介绍:

C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%到20%。因此,C语言可以编写系统软件。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老王女儿wan
2021-09-20 · TA获得超过5.3万个赞
知道小有建树答主
回答量:3689
采纳率:100%
帮助的人:125万
展开全部

a++和++a的区别为:加1操作不同,操作期间a值不同,过程对象不同。

一、加1操作不同。

1、a++:a++先执行加1操作。

2、++a:++a后执行加1操作。

二、过程对象不同。

1、a++:a++的过程对象为a参数变量。

2、++a:++a的过程对象为a++表达式。

三、操作期间a值不同。

1、a++:a++在操作期间的a值为原值。

2、++a:++a在操作期间的a值为原值+1。

举个例子:

1、a=1;b=a++;运算后:b=1,a=2。

2、a=1;b=++a;运算后:b=2,a=2。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
惠企百科
2022-12-01 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

1、本质区别

双引号里面的是字符串, 而单引号里面的代表字符。

2、输出区别

str = “a”输出的就是a这个字母;

str = ‘a’输出的测试65

3、底层区别

用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。

扩展资料:

C 语言中,逗号(,)也可以是运算符,称为逗号运算符(Comma Operator)。逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式,称为逗号表达式。其一般形式为:

子表达式1, 子表达式2, ..., 子表达式n

例如:a + b, c = b, c++

逗号运算符的优先级是所有运算符中级别最低的,通常配合 for 循环使用。逗号表达式最右边的子表达式的值即为逗号表达式的值。上例中,c++ 的值(c 自增之前的值)即为该表达式的值。

逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算。因此,上例中,c 得到 b 的值后,才进行自增运算。

参考资料来源:百度百科-C语言

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
八公寓205
推荐于2017-10-07 · TA获得超过1408个赞
知道大有可为答主
回答量:1376
采纳率:0%
帮助的人:2443万
展开全部
a++和++a的区别在于:如果是表达式的一部分的话,那么+1的顺序会影响到结果

int a=1;
int b=1+a++;
则b=2;a=2
而int b=++a+1;
则b=3;a=2;
如果表达式就是一个简单的a++或++a;那是一样的
写成while循环和第一个是一样的,因为++不影响,它不在表达式里
while(a<5)
{sum=sum+a;
++a;//或a++
}

++a,在a存储的值上增加1并向使用它的表达式“返回”新的a值;
a++,向使用它的表达式“返回”a的值,再对a加1。

int a=0;
cout<<"a="<<a++<<endl;//输出a=0,此时a=1
cout<<"a="<<++a<<endl;//输出a=2,此时a=2
cout<<"a="<<a++<<endl;//输出a=2,此时a=3
cout<<"a="<<a++<<endl;//输出a=3,此时a=4
cout<<"a="<<++a<<endl;//输出a=5,此时a=5
cout<<"a="<<++a<<endl;//输出a=6,此时a=6
cout<<"a="<<a++<<endl;//输出a=6,此时a=7
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式