/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Compiler tilt eller ?
Fra : N_N


Dato : 14-09-05 08:56

Er det bare mig der ikke er helt med, eller har min compiler en fejl.

Jeg forsøger følgende:

for(x=0; x<=5; x++)

Alt er ok

Så forsøger jeg:

for(x=5; x>=0; x--)

Så får jeg fejl (warning) med at "conditions is always true"

Fjerner jeg "=" virker det ok lige bortset fra at man selvf. skal tilpasse
værdien til det man ønsker at stoppe på.

Kan (må) man ikke bruge ">=" og hvis nej HVORFOR ??
Hvorfor virker det med "<=" ??


Allan



 
 
Ivan Johansen (14-09-2005)
Kommentar
Fra : Ivan Johansen


Dato : 14-09-05 10:12

N_N wrote:
> Så forsøger jeg:
>
> for(x=5; x>=0; x--)
>
> Så får jeg fejl (warning) med at "conditions is always true"

Du skriver ikke hvad x er, men hvis x er unsigned vil den altid være >=0
og løkken vil køre uendeligt. Du kan løse problemet ved at bruge >0
eller lave x signed.

Ivan Johansen

N (14-09-2005)
Kommentar
Fra : N


Dato : 14-09-05 20:57

> Du skriver ikke hvad x er, men hvis x er unsigned vil den altid være >=0
> og løkken vil køre uendeligt. Du kan løse problemet ved at bruge >0 eller
> lave x signed.

Den var unsigned. Og jeg havde overhoved ikke spildt det en tanke at
compileren var intelligent

Og det var først da i belyste problemet at jeg selv kunne se det.


Allan



Peter Kragh (14-09-2005)
Kommentar
Fra : Peter Kragh


Dato : 14-09-05 10:15

N_N wrote:
> Er det bare mig der ikke er helt med, eller har min compiler en fejl.
>
> Jeg forsøger følgende:
>
> for(x=0; x<=5; x++)
>
> Alt er ok
>
> Så forsøger jeg:
>
> for(x=5; x>=0; x--)
>
> Så får jeg fejl (warning) med at "conditions is always true"
>
> Fjerner jeg "=" virker det ok lige bortset fra at man selvf. skal tilpasse
> værdien til det man ønsker at stoppe på.

Er x unsigned? Hvis det er tilfældet er x jo altid >= 0.

>
> Kan (må) man ikke bruge ">=" og hvis nej HVORFOR ??
> Hvorfor virker det med "<=" ??

--
Peter

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste