For loop?

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
adent
Inlägg: 4094
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: For loop?

Inlägg av adent »

for-loopar och arrayer är, som jag brukar säga, som grädde och sylt. Som gjorda för varandra.

Själv brukar jag inte deklararera loopvariabeln i for-satsen utan innan, men det är väl mest en smaksak samt en fråga om
vad man håller på med. En "tillfällig" i-loop-variabel kan man gott deklararera direkt i for-loopen.

Detta är ett bra exempel på hur man använder for-loopar i C:

Kod: Markera allt

#define MAX_SIZE 3

int minarray[MAX_SIZE] = {0};   // Arrayen har nu tre platser; 0, 1 och 2. Dess "storlek" är 3 platser. Första platsen initieras till 0 (och alla andra nollas enligt c-standard).

for(int i=0;i<MAX_SIZE;i++)
{
  printf("minarray[%d] = %d \n", i, minarray[i]);
}
kommer skriva ut:

minarray[0] = 0
minarray[1] = 0
minarray[2] = 0
persika
EF Sponsor
Inlägg: 1336
Blev medlem: 31 juli 2006, 22:14:37
Ort: Österlen, Skåne

Re: For loop?

Inlägg av persika »

sodjan skrev: 24 februari 2021, 23:47:01 Jag tycker att denna loop är lätt att läsa och att förstå (loop-counter är en "int"):

Kod: Markera allt

        Perform varying loop-counter from zero by 1 until loop-counter is greater than 3
            display "Loop counter = ", loop-counter
        End-Perform
        
$ run loop
Loop counter = 000
Loop counter = 001
Loop counter = 002
Loop counter = 003
$
Om man inte behöver något index utan bara vill göra något ett visst antal gånger:

Kod: Markera allt

        Perform 3 times
            display "In the loop"
        End-Perform

$ run loop2
In the loop
In the loop
In the loop
$
Som att läsa en bok...
Ja, det är ju nästan klartext, är det Cobol ?
Är variabelnamnet "loop-counter",? lite förvånad när där är ett "-" i.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43147
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: For loop?

Inlägg av sodjan »

Ja, Cobol. Och ja, understrykning och mellanslag är ekvivalent i varabelnamn, kompilator bytet till det ena, minns inte vilket. Och allt är case unsensitive, så klart. :)
Skriv svar