Wie kann ich eine einzelne for-Schleife schreiben, die von A nach Z und von A nach Z in C läuft?

8

Ich möchte beide For-Schleifen in eine einzelne for-Schleife kombinieren. Wie kann ich das tun?

Ich möchte a bis z und A bis Z wie folgt durchlaufen:

%Vor%

aber mit einer einzigen Schleife.

    
kobe 15.06.2011, 04:03
quelle

13 Antworten

21

Ich mag diese Lösung nicht persönlich, aber:

%Vor%     
Ernest Friedman-Hill 15.06.2011, 04:07
quelle
22
%Vor%

Sollte funktionieren - bitte, bitte, fügen Sie das Ihren Entwicklern nicht vor.

    
Billy ONeal 15.06.2011 04:08
quelle
3

Sie können es in einer verschachtelten Schleife (zwei Schleifen, aber nur einem Körper) tun:

%Vor%     
Ted Hopp 15.06.2011 04:08
quelle
3

Nun, die offensichtliche Frage ist warum? ... und die zweite Frage betrifft Sie Nicht-ASCII-Zeichensätze (da Ihre beiden Schleifen für EBCDIC fehlschlagen), aber die schnelle und schmutzige Art der Verbindung der beiden ist

%Vor%     
Chris Dodd 15.06.2011 04:11
quelle
2
%Vor%     
iammilind 15.06.2011 04:11
quelle
1

Versuchen Sie Folgendes:

%Vor%     
Scott Urban 15.06.2011 05:42
quelle
0
%Vor%     
N.R.S.Sowrabh 15.06.2011 04:12
quelle
0
%Vor%     
g123 15.06.2011 06:21
quelle
0

Eine einfache Lösung ist

%Vor%

obwohl ich es bevorzuge, besonders in sinnvollen Sprachen, die verschachtelte Funktionen erlauben,

%Vor%

P.S. Kobe, ich sehe in einem deiner Kommentare, dass der Grund für die Schleifen darin besteht, zu prüfen, ob ein Buchstabe ein Buchstabe ist ... aber das Schleifen ist ein schrecklicher Weg, das zu tun. Sie könnten einfach

tun %Vor%

oder, wesentlich besser,

%Vor%

(Um zu verstehen, warum diese Besetzung benötigt wird, lesen Sie die isalpha man-Seite und den C-Standard. Dies ist einer von mehreren abscheulichen Aspekten von C.)

    
Jim Balter 15.06.2011 09:24
quelle
0
%Vor%

Dieser Ansatz ähnelt dem von Billy, aber mit einer etwas weniger anfälligen Schleife-Inkrement-Anweisung. Es würde mir nichts ausmachen, dies einem Mitentwickler zuzufügen, obwohl ich die increment-Anweisung als eine Funktion schreiben könnte, um zu klären, ob die increment-Anweisung komplexer geworden ist:

%Vor%     
Eamon Nerbonne 15.06.2011 10:12
quelle
-1

Es ist sinnlos, verwenden Sie einfach eine für die Schleife. Die Variablen werden hauptsächlich als Zähler oder Grenzen für die Schleife verwendet, so dass sie weiß, wann sie beendet werden muss. Mach einfach eine Schleife. Zwei Schleifen sind völlig unnötig.

    
Jason 15.06.2011 04:08
quelle
-1
%Vor%     
Abhishek Nag 15.06.2011 09:56
quelle
-2
%Vor%

Dies beinhaltet auch ein paar Zeichen wie '[' und ']' ...

    
slartibartfast 15.06.2011 04:07
quelle

Tags und Links