注册 登录
编程论坛 C++教室

这道题是什么意思啊!有答案,它是怎么得出来的?请前辈们讲讲!

aa449708169 发布于 2010-12-24 14:25, 380 次点击
20.下面程序的运行结果为:                        答案是:1
#include <stdio.h>                                       5,6
int k=1;                                                 4,6
main()
{ int i=4;
  fun(i);
  printf("%d,%d\n",i,k);}
fun(m)
int m;
{ m+=k;
  k+=m;
  { char k='B';
    printf("%d\n",k-'A');
  }
  printf("%d,%d\n",m,k);}
2 回复
#2
zhoufeng19882010-12-24 15:34
程序代码:
#include <stdio.h>            
                        
int k = 1;                                                       /*声明一个全局变量*/

/*

 * 函数声明

 
*/      
void fun( int);                                                  /*fun函数*/

/*main函数入口*/                             
main()   
{
    int i = 4;                                                   /*声明局部变量i,并定义为4*/
  fun(i);                                                        /*以4为参数,调用函数i*/
  printf("%d,%d\n",i,k);                                         /*输出i、k到控制台*/
}

/*

 * 函数定义

 
*/
void fun( int m)
{
    m += k;                                                      /*先将m加上全局变量k,然后再赋值给m*/
  k += m;                                                        /*将k加上m,然后把和赋值给k*/

 
  /** 语句块开始 **/
  {
      char k='B';                                                /*声明局部定量k,然后定义k为字符'B'*/
    printf("%d\n",k-'A');                                        /*输出k减去字符'A'的值到控制台*/
  }
  /** 语句块结束 **/

 
  printf("%d,%d\n",m,k);                                         /*输出变量m和全局变量k的值到控制台*/
}
#3
aa4497081692010-12-24 17:49
回复 2楼 zhoufeng1988
我懂了!谢谢!真厉害!!!!
1