今天看到一道面试题目,挺有意思的。大概想了一下,给个答案。
题目要求:只在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!!