一道面试题

来源:互联网 发布:师父,弟子知错了 编辑:程序博客网 时间:2024/05/23 12:06

今天看到一道面试题目,挺有意思的。大概想了一下,给个答案。

题目要求:只在if里面添加语句,结果输出Hello world

int main(){  if()  {       printf("Hello ");  }  else  {    printf("World !!!");  }  return 0;}

大致说一下整个思路:

  • if中输出hello,else中输出world,但是根据语法if和else不能同时执行;
  • if是一个条件判断语句,如果if中的表达式为真,那么执行if后的语句;如果if后的语句判断为假,那么执行else语句。
  • 据上我们可以知道if()里面的表达式在任何情况下都会被测试真假,都会被执行。又因为我们需要首先输出Hello再输出World,因此我们设计的程序执行路线为if() ——>else{ printf("World!!")};
  • 因此我们在if()中输出Hello并且需要执行else语句,所以if后表达式的值又必须为假,因此我们有以下代码
#include <iostream>#include <string.h>using namespace std;int main(){  if(!(printf("Hello ")))  {       printf("Hello ");  }  else  {    printf("World !!!");  }  system("pause");  return 0;}
结果可以输出Hello World!!




原创粉丝点击