帮忙解释一个C语言程序,麻烦详细点哈

来源:百度知道 编辑:UC知道 时间:2024/05/14 07:35:38
#include<stdio.h>
main()
{int a=3,b=2,c=1;
c-=++b;
b*=a+c
{int b=5,c=2;
c/=b*2;
a-=c;
}
printf('%d,%d,%d,"a,b,c);
a+=--c;
}
printf('%d,%d,%d,"a,b,c);
}
答案说此程序又嵌入了一个复合语句,还真不知道是什么意思,哪个是嵌入的语句,还有接下来定义b.c有什么作用

定义a=3,b=2,c=1;
C=C-(b+1);
b=b*(a+c);
定义 b=5,c=2;
c=c/(b*2);
a=a-c;

输出a,b,c的值(%d是输出整数的意思)
a=a+(c-1)

输出a,b,c的值。。

这是经过修改后的程序

#include<stdio.h>
main()
{int a=3,b=2,c=1;
c-=++b;
此时c为-2,b为3

b*=a+c;
等价于b=b*(a+c)注意加括号 b为3

{int b=5,c=2;
c/=b*2;
a-=c;
}
这部分为嵌套程序,若其中的变量有与外面的变量相同的,如b和c,则两者互不影响
,嵌套程序中的b和c的作用域仅仅为这个嵌套程序,出来这个嵌套程序后就失效了,仍然执行原先的b和c 的值,但是若里面没有定义a,却使a 的值发生了改变,则嵌套程序外的a的值也会发生改变,看看书还是比较好的,不啰嗦了,呵呵

printf("%d,%d,%d,",a,b,c);
a+=--c;

c自减,为-3,a然后变为0

printf("%d,%d,%d,",a,b,c);}