我目前处于一个非常基本的C ++类中,我们正在编写一个程序来检查输入是字符串还是包含数字。我目前有我的代码,但一切似乎都是有序的,当我尝试测试它时,我得到错误:
行应小于或等于80个字符。
错误位置将此视为问题:
if ((checknum == 1 && checkVector[0] == 1)|| checknum == 0 || checknum == strlength) {
有没有办法将其分解为多行以避免此错误?没有所有的空白区域,它不会让我运行它。
答案 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
)
{