the ++ operator

Giannis Vrentzos gvre at gvre.gr
Wed Nov 19 23:40:00 EET 2003


Tom Diamond wrote:
> Ρε παιδιά, τρέχω το παρακάτω:
> --- begin ---
> int main()
> {
>   float a[3], b[3];
>   float c;
>   int i;
> 
>   /*random numbers*/
>   a[0]=0.1; a[1]=2.54; a[2]=7.12;
>   b[0]=4.1; b[1]=5.21; b[2]=4.12;
> 
>   c = 0.0; i = 0;
>   c += a[i]+b[i]+a[i+1]+b[i+1];
     c = c   + a[0] + b[0] + a[1] + b[1]	
     c = 0.0 + 0.1  + 4.1  + 2.54 + 5.21	
	
>   printf("%f\n", c);
> 
>   c = 0.0; i = 0;
>   c += a[i]+b[i++] + a[i]+b[i];
     ****** To i ^^^^ 8a ay3h8ei kata 1 meta to telos ths pros8eshs*****
     c = c   + a[0] + b[0] + a[0] + b[0]
     c = 0.0 + 0.1  + 4.1  + 0.1  + 4.1

Thn grammh ayth mporeis na thn kaneis c += a[i]+b[i]+a[++i]+b[i] kai 8a 
exeis to swsto apotelesma alla kalytera na apofygeis ayton ton tropo.

>   printf("%f\n", c);
> 
>   c = 0.0; i = 0;
>   c += a[i]+b[i++];
>   c += a[i]+b[i];
>   printf("%f\n", c);
> }
> --- end ---
> 
> Τα τρία αποτελέσματα που τυπώνω δε θα έπρεπε να βγαίνουν ίδια; Το μεσαίο 
> μου βγαίνει διαφορετικό. Τι παίζει με τον '++'; Μυρίζομαι ότι κάτι μου 
> έχει ξεφύγει στην όλη ιστορία αλλά τι;
> 
> Tom.
> 

Gvre




More information about the Linux-greek-users mailing list