首页 > 用户发贴区 > 编程问题提问区 > 二级c 帮个忙拉
2008
06-07

#include ”stdio.h”


main()
{
int a=3,b=2,c=1;
c-=++b;
b*=a+c;
{
  int b=5,c=12;
  c/=b*2;
  a-=c;
  printf(“%d%d%d”,a,b,c);
  a+=–c;
}
printf(“%d%d%d”,a,b,c);
}
答案是25123-2
****************************************  以上大案我都在tc上运行过,答案是正确的,但我不懂啦 !帮个忙


二级c 帮个忙拉》有 2 条评论

  1. aa逆天 说:

    第一次输出:C=12/10(取整为1);A=A(3)-C(1)=2;B为原值5;

    第二次输出:A(在第一次运算的基础上)=A(2)-C(自减为0)=2;

                   B最不好理解,其实在开始运算C值时进行了自加运算,所以输出为3,也就是2加了1;

    C这次输出的是最上面运算的值,也就是C-=++B;C=1-3=-2;也就是这个时候改变了B的值,所以输出B为3;

    写得不是很清楚,主要是你去消化理解,主要要了解{}中间的算法针对输出的作用域;

  2. aa逆天 说:

    我学C也才20来天,一起努力和探讨

留下一个回复