#include main() { int a,b; a=3,b=(++a)+(++a)+(++a); printf("
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/06 07:05:25
#include main() { int a,b; a=3,b=(++a)+(++a)+(++a); printf("a=%d,b=%d\n",a,b); }
分析这个程序?解释表达式:b=(++a)+(++a)+(++a);
分析这个程序?解释表达式:b=(++a)+(++a)+(++a);
整理后如下:
#include
main()
{
int a,b;
a=3,b=(++a)+(++a)+(++a);
printf("a=%d,b=%d\n",a,b);
}
主要是第二个表达式a=3,b=(++a)+(++a)+(++a);,它由一个逗号运算符将两个表达式分开,由于逗号运算符的性质(分别计算左右两边的表达式),所以它被解释为:首先计算逗号左边——a赋值为3,然后计算逗号右边——由于++与括号的优先级都高于+号,所以a被先自加3次变为6,b被赋值6+6+6等于18..
最后输出结果为a=6,b=18
=========
由于有括号,3个++a应该是同时算的. 我在visual studio 2010中粘贴提问者的代码运行结果为a=6,b=18 .如果有不同的结果,就不知道怎么回事了.
再问: 在Vc++中运行,结果是a=6,b=16
再答: 我是在Visual Studio 2010 Professional(Windows 7环境)中做的,Visual C++是它的一个组成部分。。。我是复制的你的代码进去运行的,确实结果为a=6,b=18。你们得出不同结果,具体原因我不清楚,也许是2010版VS的编译器的改变。。。但我所说的除了++a目前看来有异议,其它的应该是对的。
#include
main()
{
int a,b;
a=3,b=(++a)+(++a)+(++a);
printf("a=%d,b=%d\n",a,b);
}
主要是第二个表达式a=3,b=(++a)+(++a)+(++a);,它由一个逗号运算符将两个表达式分开,由于逗号运算符的性质(分别计算左右两边的表达式),所以它被解释为:首先计算逗号左边——a赋值为3,然后计算逗号右边——由于++与括号的优先级都高于+号,所以a被先自加3次变为6,b被赋值6+6+6等于18..
最后输出结果为a=6,b=18
=========
由于有括号,3个++a应该是同时算的. 我在visual studio 2010中粘贴提问者的代码运行结果为a=6,b=18 .如果有不同的结果,就不知道怎么回事了.
再问: 在Vc++中运行,结果是a=6,b=16
再答: 我是在Visual Studio 2010 Professional(Windows 7环境)中做的,Visual C++是它的一个组成部分。。。我是复制的你的代码进去运行的,确实结果为a=6,b=18。你们得出不同结果,具体原因我不清楚,也许是2010版VS的编译器的改变。。。但我所说的除了++a目前看来有异议,其它的应该是对的。
#include main() { int a,b; a=3,b=(++a)+(++a)+(++a); printf("
#include void main(void){int a=3,b; b=a+++a++;printf(“b=%d”,
# include main() { int a=-2,b=0; while(a++&&++b); printf("%d
#include void main() { int a=21,b=11; printf("%d\n",--a+b,--
c++两个数判断大小#include #include int main(){int a,b;printf("请输入两个
#include main() {int a=2,b=2,c=2; printf("%d\n",a/b&c); } 答案
#include #include main() { float a; int b; a=4.55 ; b=4.5%3;
#include main() { int a=4,b=7,c=5:int d1;d1=(ab--); printf("
#include void main(){int a,b;scanf("%d %d" ,a,b);printf("%d
#include #include int main(void) { float a,b,c,x,y,z; printf
#include func(int a,int b) {int c; c=a+b; return c;} main()
#include func(int a,int b){int c; c=a+b;returnc;}main(){intX