可以将语句分成多行吗?

时间:2017-02-14 22:48:36

标签: c++

我目前处于一个非常基本的C ++类中,我们正在编写一个程序来检查输入是字符串还是包含数字。我目前有我的代码,但一切似乎都是有序的,当我尝试测试它时,我得到错误:

  

行应小于或等于80个字符。

错误位置将此视为问题:

if ((checknum == 1 && checkVector[0] == 1)|| checknum == 0 || checknum == strlength) {

有没有办法将其分解为多行以避免此错误?没有所有的空白区域,它不会让我运行它。

3 个答案:

答案 0 :(得分:4)

您可以在任何允许空格的地方放置换行符:

if ((checknum == 1 && checkVector[0] == 1)||
     checknum == 0 || 
     checknum == strlength) {

或者您可以设置变量:

int check1 = checknum == 1 && checkVector[0] == 1;
int check2 = checknum == 0;
int check3 = checknum == strlength;
if (check1 || check2 || check3) {

这并不完全等效,因为||执行短路,并且如果先前的操作数为真,则不会对后面的操作数进行评估。但由于表达式中没有副作用或昂贵的计算,因此差异可以忽略不计。

答案 1 :(得分:2)

C ++对空格不敏感,换行符是空格。所以你可以在你喜欢的任何标记边界处打破这条线。

例如:

if
(
   (checknum == 1 && checkVector[
0] == 1)|| checknum

                  ==      0 ||
     checknum == strlength
      ) {

答案 2 :(得分:1)

当然,您可以根据需要添加尽可能多的空白。例如,这是允许的(但也许不是一个好主意):

if
(
(
checknum
==
 1
 && 
checkVector
[
0
]
==
 1
)
||
 checknum
 == 
0
 ||
 checknum
 == 
strlength
)
 {