C语言,这个小程序的输出结果是?
#include<stdio.h>main(){inta,b,c;a=(b=c=5,++b,b+(c++));printf("a=%d,b=%d,c=%d",a,b,c)...
#include<stdio.h>
main()
{
int a,b,c;
a=(b=c=5,++b,b+(c++));
printf("a=%d,b=%d,c=%d",a,b,c);
}
a=(b=c=5,++b,b+(c++));
这一步为什么是6+5啊,我觉得是6+6呢
a=(b=c=5,++b,b+c++); 和这个有什么区别呀?
这个我觉得是6+5. 展开
main()
{
int a,b,c;
a=(b=c=5,++b,b+(c++));
printf("a=%d,b=%d,c=%d",a,b,c);
}
a=(b=c=5,++b,b+(c++));
这一步为什么是6+5啊,我觉得是6+6呢
a=(b=c=5,++b,b+c++); 和这个有什么区别呀?
这个我觉得是6+5. 展开
展开全部
3.b+(c++) -> 6+5=11
要注意是先获取c的值进行加,然后c才自增.
和a=(b=c=5,++b,b+c++);没区别!
eg.
int i = 1;
int j = 1;
i += j++
==>>
i = i + (j++) //这里的()不影响后++的特性
i = 2;
j = 2;
---------------
a=(b=c=5,++b,b+(c++));
==>
1.b=c=5
2.++b -> b=6;
3.b+(c++) -> 6+5=11
4.a=11
5.c=6 //由第3步的c++得来
最后结果:
a=11,b=6,c=6
要注意是先获取c的值进行加,然后c才自增.
和a=(b=c=5,++b,b+c++);没区别!
eg.
int i = 1;
int j = 1;
i += j++
==>>
i = i + (j++) //这里的()不影响后++的特性
i = 2;
j = 2;
---------------
a=(b=c=5,++b,b+(c++));
==>
1.b=c=5
2.++b -> b=6;
3.b+(c++) -> 6+5=11
4.a=11
5.c=6 //由第3步的c++得来
最后结果:
a=11,b=6,c=6
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询