【发布时间】:2021-09-22 17:26:19
【问题描述】:
您好,我在学校被问到这个问题。我似乎无法弄清楚。
不使用任何条件语句编写 c 程序 (if/else/switch:case/while/for 等) 输出:
1535(integer) 如果输入为 -1(integer)
否则输出 输入(如果不是 -1)?
问题是评估我的逻辑技能而不是 c 编程技能。
【问题讨论】:
-
允许三元运算符吗?
std::cout << (x == -1 ? 1535 : x); -
否则
std::cout << ((x == -1) * 1535 + (x != -1) * x); -
什么是“输入”?它是作为命令行参数传递的字符串吗?
int传递给函数?还有什么? -
仅供参考,C 和 C++ 语言是不同的语言。例如,C++ 有
std::string和std::list,C 没有。由于您的作业是用 C 语言进行的,因此您可以删除 C++ 语言标签。 -
这里对“条件语句”的定义比较宽松。我们是在谈论代码中的显式条件吗?或者我们正在谈论任何可能转换为条件分支的构造?
标签: c algorithm printf comparison-operators