求指导:如何将C语言中的三元赋值语句改写为标准if-else语句?
问题解答
首先,你写的代码存在几个语法错误:
if分支中直接声明变量不符合C语言语法规范,且大括号位置错误;else的语法结构错误,前面的分号和大括号导致逻辑断裂;- 分别在
if和else块中声明max会导致变量作用域仅局限于各自代码块,外部无法访问。
正确的改写方式是先在外部声明max变量,再通过if-else分支为其赋值,代码如下:
// Berechne max von a und b double max; if (a[0] < b[0]) { max = b[0]; } else { max = a[0]; }
如果确实需要在代码块内声明变量(不推荐,会缩小作用域),可以这样写:
// Berechne max von a und b if (a[0] < b[0]) { double max = b[0]; // 在这里使用max } else { double max = a[0]; // 在这里使用max }
另外注意你原三元表达式中的B[0]是大写B,要确保和变量名b一致,避免大小写错误。
内容的提问来源于stack exchange,提问作者Kilston
相关产品推荐
相关产品推荐

