ufm: (Default)
[personal profile] ufm
ufm@home ~ $ cat t.c
#include <stdio.h>

int main(void) {
int i;
volatile int j;

   i = j = 5;
   i = ++i + ++i;
   j = ++j + ++j;
   printf ("i == %d j == %d\n",i,j);

   i = j = 5;
   i = i++ + ++i;
   j = j++ + ++j;
   printf ("i == %d j == %d\n",i,j);

   i = j = 5;
   i = i++ + i++;
   j = j++ + j++;
   printf ("i == %d j == %d\n",i,j);

   i = j = 5;
   i = ++i + i++;
   j = ++j + j++;
   printf ("i == %d j == %d\n",i,j);

   return 0;
}

ufm@home ~ $ gcc t.c
ufm@home ~ $ ./a.out
i == 14 j == 13
i == 13 j == 11
i == 12 j == 10
i == 13 j == 12
ufm@home ~ $

(no subject)

Date: 2007-05-12 17:41 (UTC)
From: [identity profile] mike-gusev.livejournal.com
gusev@casa-babylon:[~/works/src/plusplus]$ ./pls
i == 14 j == 13
i == 13 j == 6
i == 12 j == 6
i == 13 j == 7
gusev@casa-babylon:[~/works/src/plusplus]$ gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --with-tune=i686 --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
gusev@casa-babylon:[~/works/src/plusplus]$

(no subject)

Date: 2007-05-12 17:44 (UTC)
From: [identity profile] mike-gusev.livejournal.com
-Wall честно обругал каждую операцию:
pls.c:9: warning: operation on ‘i’ may be undefined
pls.c:9: warning: operation on ‘i’ may be undefined
pls.c:10: warning: operation on ‘j’ may be undefined
pls.c:10: warning: operation on ‘j’ may be undefined
итд...

(no subject)

Date: 2007-05-13 16:25 (UTC)
From: [identity profile] mike-gusev.livejournal.com
Завтра попробую bcc32, openwatcom и visual :-)

(no subject)

Date: 2007-05-12 20:28 (UTC)
From: [identity profile] ufm.livejournal.com
У меня 3.4.6

(no subject)

Date: 2007-05-13 15:35 (UTC)
From: [identity profile] generos.livejournal.com
Sun Studio более предсказуем:
%cc -v
cc: Sun C 5.9 Linux_i386 Build35_2 2006/12/04
usage: cc [ options] files. Use 'cc -flags' for details
% cc t.c && ./a.out
i == 14 j == 14
i == 13 j == 13
i == 12 j == 12
i == 13 j == 13