Vad är det som skapar en "död punkt" i denna loop?

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
sodjan
EF Sponsor
Inlägg: 43231
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Vad är det som skapar en "död punkt" i denna loop?

Inlägg av sodjan »

> Men hade C börjat räkna från 1 hade väl många andra programspråk också gjort det.

Även de språk som är äldre än C?

C's sätt att hantera "index" har alltså med vad det var avsett till från början.
Andra språk med andra syften och användningsområden gör ibland annorlunda.
Användarvisningsbild
Icecap
Inlägg: 26612
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Vad är det som skapar en "död punkt" i denna loop?

Inlägg av Icecap »

Och i Pascal kan man välja om man vill börja med index 0 eller 1...

Sak samma, det rör sig mest om sättet att se på det hela, har man bara klart för sig vad som gäller borde man rimligt enkelt kunde ta hand om rätt sätt att utföra önskat operation på.

Men du har fel sodjan :wink:
Mr Andersson
Inlägg: 1407
Blev medlem: 29 januari 2011, 21:06:30
Ort: Lapplandet

Re: Vad är det som skapar en "död punkt" i denna loop?

Inlägg av Mr Andersson »

Jag förstår inte alls diskussionen. Kan man C så vet man hur pekararitmetik fungerar. Kan man det inte och är interesserad så tar det inte lång tid att lära sig.
Att folk sitter på ett internetforum och bråkar om vad som är mest logiskt kommer inte att ändra på språket :)
Nerre
Inlägg: 27149
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Vad är det som skapar en "död punkt" i denna loop?

Inlägg av Nerre »

Det vi diskuterar är just varför off-by-one-fel är att av de vanligast förekommande felen i C-programmering. Och vi är några som är rätt säkra på att det beror på att det för MÄNNISKOR är mest naturligt att börja räkna från ett. Sen att det är mest naturligt för datorer att räkna från noll må vara hänt, men idag försöker vi anpassa maskinerna till människorna istället för tvärtom:)

Det är ju inte så att det är raketkirurgi för en kompilator att fixa den där förskjutningen istället för att människor ska behöva hålla reda på den. Men visst, då är det inte C längre. Men fördelen skulle bli att off-by-one-fel skulle bli mer sällsynta.
Användarvisningsbild
carpelux
Inlägg: 1942
Blev medlem: 13 oktober 2007, 12:33:33
Ort: Varnhem

Re: Vad är det som skapar en "död punkt" i denna loop?

Inlägg av carpelux »

Den HP-Basic som kördes på den 9845 jag kom i kontakt med i början av 80-talet hade valet att starta arrayer på 0 eller 1. "option base 0" eller "option base 1" om jag minns rätt.
Det var bra tyckte jag då, och tycker fortfarande.
sodjan
EF Sponsor
Inlägg: 43231
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Vad är det som skapar en "död punkt" i denna loop?

Inlägg av sodjan »

Ah, 9825'an med stor skärm... :-)
25'an skrev jag program för att generera stryktips system på... :-)
Skriv svar