例如我们有示例代码
cout << (((n%c == 0) && (n/c>=1)))?"Yes":"No";
在其他语言如python中我们可以更容易地做到(cpp中的概念)。 如何在cpp中实现它?
cout << ... ["No","Yes"] [(((n%c == 0) && (n/c>=1)))];
我们可以声明数组“否”,“是”。 但是如何在写入输出的时候做到这一点。?
答案 0 :(得分:1)
这个怎么样:
cout << vector < string > { "A", "B", "C" }[1];
答案 1 :(得分:1)
尝试此操作,编译器优化设置为高:
char const * answer = "No";
if ((n % c == 0) && ((n / c) >= 1))
{
answer = "Yes";
}
cout << answer;
我很确定编译器会像你的一行一样优化它(优化设置为高)。我更喜欢这个,因为IMO,它更容易阅读并使用调试器单步执行。
答案 2 :(得分:0)
在C ++ 11中,您可以这样做:
typedef std::string ARRAY[];
int main()
{
std::cout << ARRAY{"Yes", "No"}[0];
}
由于缺少大括号初始化而不确定C ++ 03。