金山笔试题:

 

  1. int main() 
  2.      if(   ) 
  3.      {  
  4.         printf("Hello "); 
  5.      } 
  6.      else 
  7.      { 
  8.         printf("World"); 
  9.      } 
  10.      return 0; 


在if()括号里面请写入语句 使得打印出 hello world。

 

 答案:

 

 

  1. #include<stdio.h> 
  2.  
  3. int main(int args,char **argv) 
  4.  
  5.  
  6.     if(args == 0 || main(0,NULL) ) 
  7.  
  8.     {  
  9.  
  10.         printf("hello"); 
  11.  
  12.     } 
  13.  
  14.     else 
  15.  
  16.     { 
  17.  
  18.         printf(" world\n"); 
  19.  
  20.     } 
  21.  
  22.     return 0; 
  23.  
运行结果:
 
hello world
Press any key to continue
 
解释:
--------------------------------------------
第一点是第一次执行main方法时args=1。第二次调用main传入null,这样args==null就为true。第二点是利用||或运算符,如果前面的表达式为true,则不再执行后面的表达式,那么就控制了main方法只手动调用一次。
--------------------------------------------