#include〈stdio .h〉
          Void fun (int*x,int*y)
﹛printf (“%d%d”,*x,*y);
          *x=3,*y=4; ﹜
  Void main()
﹛ int x=1,y=2,
Fun( &y,&x)
Printf(“%d%d”,x,y);
﹜运行结果  2143
和读程序,写出运行结果:
   Void main()
{
Int x=8;   for(x>0;x--);
{if (x%3) 
{printf (“%d”,x--);
Continue;}
Printf (“%d”,--x);}
}
运行结果:  8,5,4,2   
我实在没有弄懂这两道题
恳请各位高手出手相助,非常感谢!!

解决方案 »

  1.   

    这好象不是C#的吧...我怎么看着想C++的
    这是一个很简单的运算程序
    第1个:
    首先x=1,y=2
    调用fun方法传值(2,1)
    所以输出的结果也就是21
    在fun这个方法里吧*x,*y的指针地址变了
    因为*x*y是指针
    所以输出的结果是43C++我不是太熟悉,不知道说的对不对下面那个
    是X%3取余然后输出
    下面那个有点不明白...见谅
      

  2.   

    第一题中,Fun( &y,&x) 表示把y的地址传给 fun (int*x,int*y)中的*x形参,把x的地址传给*y形参,fun中有一个
    printf (“%d%d”,*x,*y);其中*x=y,*y=x  所以结果是2 1;printf 之后*x=3,*y=4就给y和x(注意)重新赋值了,所以main中
    的Printf(“%d%d”,x,y)是输出改编后的x和y,结果是 x=4,y=3第二题应该是有语法错误,for(x>0;x--);后应该没有“;”,首先x=8,x%3!=0,所以执行if,x--表示x先减一,
    再打印x,所以打印8,此时x=7,遇到contine,转到for循环,x--,此时x=6符合x>0;然后(x=6)%3==0,所以不执行if,执行之后的printf,打印--x,--x等价于先打印x,再减一,所以结果为5,此时x=5; 之后转到for,x再减一,(x=4)>0;之后if成立,先打印x=4,然后x=x-1,此时x=3,continue再转到for,x--之后x=2>0;if又成立,再打印x=2,之后x=x-1,此时x=1,continue到for,x--之后x=0,for循环结束ok啦
      

  3.   

    呵呵!这不是C#的啊?
    第一个题3楼的可能说的也差不多吧!
    而第二个 
    Void main() 

     Int x=8;
     for(x>0;x--); 
     {
       if (x%3) 
      {
        printf (“%d”,x--); 
        Continue;
      } 
       Printf (“%d”,--x);
     } 

    这是一个For循环,当第一次执行时X=8,判断X>0?是!  然后执行IF语句8%3!=0为真,则输出8(注:此时X变成了7),
    遇到continue则结束本次循环进行下次循环。执行for语句 X--;此时X==6;然后进行第二次循环。而6%3==0为假执行
    Printf (“%d”,--x);  而--X先执行--,再输出X,此时X==5;下次循环和这两次循环差不多你自己应该可以做出来了。
      

  4.   

    不好意思  x--表示先打印x,然后x再减一;--x表示x先减一再打印
      

  5.   

    for(x>0;x--); 括号里是不是少了个分号??