解释下面程序片段是否合法。
std::cout << "The sum of " << v1; //合法 <<" and " << v2; //不合法,开头缺少 std::cout <<" is " << v1 + v1 <<std::endl; //不合法,开头缺少 std::cout 如果程序是合法的,它输出什么?如果程序不合法,原因何在?应该如何修正?
正确代码如下:
#include <iostream>
int main() {
int v1 = 2, v2 = 5;
std::cout << "The sum of " << v1;
std::cout<<" and " << v2;
std::cout<<" is " << v1 + v1 <<std::endl;
return 0;
}