2017-02-14 3 views
1

Ich bin derzeit in einer sehr grundlegenden C++ - Klasse und wir schreiben ein Programm, um zu überprüfen, ob eine Eingabe eine Zeichenfolge ist oder Ziffern in ihr hat. Im Moment habe ich meinen Code und alles scheint jedoch zu sein, um, wenn ich versuche, es zu testen ich den Fehler:Kann eine Anweisung in mehrere Zeilen aufgeteilt werden?

Line should be less than or equal to 80 characters long.

Die Fehlerstelle zeigt dies als Problem:

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

Gibt es Gibt es eine Möglichkeit, dies in mehrere Zeilen aufzuteilen, um diesen Fehler zu vermeiden? Es lässt mich nicht ohne all die weißen Räume laufen.

+0

FYI, 'und' und' or' [ist auch C++ keywords] (http://stackoverflow.com/questions/2376448/the -geschriebene-Versionen-der-logischen-Operatoren) und viel einfacher zu lesen. Es ist auch viel weniger wahrscheinlich, dass Sie versehentlich ein bitweises '|' oder '&' einwerfen. –

Antwort

2

C++ ist Leerraum-unempfindlich, und Zeilenumbrüche sind Leerzeichen. So können Sie die Linie bei jeder Token-Grenze, die Sie mögen, unterbrechen.

Zum Beispiel:

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

        ==  0 || 
    checknum == strlength 
    ) { 
4

Sie Zeile setzen können überall bricht, dass Leerzeichen erlaubt ist:

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

Oder Sie könnten Variablen gesetzt:

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

Dies ist nicht genau äquivalent, weil || einen Kurzschluss ausführt, und später nicht nachbewertet o Peranden, wenn ein früherer Operand wahr ist. Aber da es keine Nebenwirkungen oder teure Berechnungen in Ihren Ausdrücken gibt, ist der Unterschied vernachlässigbar.

1

Sicher, Sie können so viel Leerzeichen hinzufügen, wie Sie möchten. Zum Beispiel ist dies erlaubt (aber vielleicht keine gute Idee):

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

Aber jetzt ist es so einfach zu symbolisieren! – chris

Verwandte Themen