作者: dune
日時: 2004/8/28(21:25)
$i++ より ++$i のが好きな極悪です。

嫌なものを見つけてしまいました。
C の printf("%d%d%d\n",++i,++i,++i); と
perl の printf("%d%d%d\n",++$i,++$i,++$i);
何で同じ結果になってくれないのでしょう。
違いに気づかずいつかはまりそう。

D:% cat inc.c
#include <stdio.h>

int main(void){
    if(1){
        int i = 1;
        printf("%d%d%d\n",i++,i++,i++);
    }

    if(1){
        int i = 1;
        printf("%d%d%d\n",++i,++i,++i);
    }

    return 0;
}


D:% gcc inc.c & a
321
432

D:% cat inc.pl
if(1){
    my $i = 1;
    printf("%d%d%d\n",$i++,$i++,$i++);
}

if(1){
    my $i = 1;
    printf("%d%d%d\n",++$i,++$i,++$i);
}


D:% perl inc.pl
123
444

D:%
-- 
極悪, FZH01112 at nifty.com
http://hpcgi1.nifty.com/dune/gwiki.pl?