Forum: Compiler & IDEs Datentyp long = short OR int32_t = int16_t


von Joh W. (Firma: tet) (hampel)


Lesenswert?

Hello,

Ist Heute bisschen spät geworden, vielleicht gibt es Abhilfe ;-)
Datentyp Frage: ImageCraft C Compiler / µC: CY8C29466-24PXI
1
void main (void)
2
{
3
   int16_t var1;
4
   int32_t var2;
5
   int8_t i;
6
7
8
   for(i=0; i<200; i++)
9
   {
10
     var1 += 17803;
11
     var2 += var1;
12
   }
13
14
   var2 /= 200;
15
16
}

Was steht in var2  ?

Freue mich über Eure Antwort.

von Klaus W. (mfgkw)


Lesenswert?

Zu welchem Zeitpunkt?
Beim ersten Durchlauf?
Oder Weihnachten? Weihnachten welchen Jahres?
Jüngstes Gericht?

von Klaus W. (mfgkw)


Lesenswert?

Gegen was suchst du eigentlich Abhilfe?

- Gegen nicht initialisierte Variablen?
  Abhilfe:
  Initialisieren.

- Oder gegen Endlosschleifen?
  Abhilfe:
  nicht eine uint8_t auf kleiner 200 testen, das ist immer erfüllt

- Oder dagegen, daß du den Wert einer Variable nicht kennst?
  Abhilfe:
  printf() oder Debugger

von Daniel A. (daniel-a)


Lesenswert?

Klaus W. schrieb:
>   nicht eine uint8_t auf kleiner 200 testen, das ist immer erfüllt

Beim verwendeten int8_t stimmt dass, aber die von dir erwähnte uint8_t 
geht bis 255.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Joh W. schrieb:
> Was steht in var2  ?
32230l
Siehe http://codepad.org/Nw53mioq

> Freue mich über Eure Antwort.
Welchen sinn sollte dieser seltsame Test haben?

von Klaus W. (mfgkw)


Lesenswert?

klar, meinte natürlich die int8_t aus seinem Programm.

Ich baue ja auch keine Endlosschleifen :-)

von Klaus W. (mfgkw)


Lesenswert?

Lothar M. schrieb:
> Joh W. schrieb:
>> Was steht in var2  ?
> 32230l
> Siehe http://codepad.org/Nw53mioq

du mogelst...

Da ist i ja auch auf einmal unsigned char!


>
>> Freue mich über Eure Antwort.
> Welchen sinn sollte dieser seltsame Test haben?

Vielleicht redet sonst keiner mit ihm...

von Rolf M. (rmagnus)


Lesenswert?

Klaus W. schrieb:
> Zu welchem Zeitpunkt?

Das ist egal. In dem Code ist zu jedem Zeitpunkt der Inhalt von var2 
undefiniert.

von Klaus W. (mfgkw)


Lesenswert?

undefiniert ja, aber nicht gleich :-)

Die Fragestellung ist mit so einem obskuren Programm aber eh Unsinn.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Rolf M. schrieb:
> Klaus W. schrieb:
>> Zu welchem Zeitpunkt?
>
> Das ist egal. In dem Code ist zu jedem Zeitpunkt der Inhalt von var2
> undefiniert.

Nö, nur zu 1/200 undefiniert.

von (prx) A. K. (prx)


Lesenswert?

Johann L. schrieb:
> Nö, nur zu 1/200 undefiniert.

Wann ist er denn definiert?

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Johann L. schrieb:
> Nö, nur zu 1/200 undefiniert.
irgendwas + 17803 = irgendwas

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Obje...

ein ;
ein o
und ein )

Bitteschon!

von Yalu X. (yalu) (Moderator)


Lesenswert?

Kaj G. schrieb:
> Johann L. schrieb:
>> Nö, nur zu 1/200 undefiniert.
> irgendwas + 17803 = irgendwas

=> 17803 = 0

Hoffentlich versucht niemand, das geheimnisvolle Programm zu starten.
Davon könnte nämlich die Welt untergehen =8-O

Aber zum Glück kompiliert es gar nicht erst, da int16_t, int32_t und
int8_t nirgend deklariert sind.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.