预测以下C++代码的输出:
问题1
#include
int main()
{
if (std::cout << "hello")
std::cout << " world";
else
std::cout << " else part";
return 0;
}
输出:你好世界
说明:由于std :: cout <<“ hello”返回对std :: cout的引用,因此条件变为true,并执行if块。
问题2
#include
int main()
{
if (2)
std::cout << "hello";
else
std::cout << "world";
return 0;
}
输出:你好
说明:由于2为非零(即true),因此条件变为true,并且执行if块。
问题3
#include
int main()
{
if (0)
std::cout << "hello";
else
std::cout << "world";
return 0;
}
输出:世界
说明:由于0等于false(在此问题中),因此条件变为false并执行else块。
问题4
#include
int main()
{
if (NULL)
std::cout << "hello";
else
std::cout << "world";
return 0;
}
输出:世界
说明:由于NULL等于0,即false(在此特定问题中),因此条件变为false并执行else块。
问题5
#include
int main()
{
int n;
if (std::cin >> n) {
std::cout << "hello";
} else
std::cout << "world";
return 0;
}
输入:100
输出:你好
说明:由于std :: cin >>“ hello”返回对std :: cin的引用,因此条件变为true,并执行if块。
输入:[无]
输出:世界
说明:由于未提供输入,因此条件变为false,因此将执行else块。
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。