451. C と perl で $i++ したり ++$i したり


番号順一覧Top スレッド順一覧Top
作者: 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?
前の発言: 450. Re: 無名サブルーチンを呼び出す [藤岡和夫] 2004/8/28(13:14)
後の発言: 452. Re: 無名サブルーチンを呼び出す [Bruce.] 2004/8/28(22:39)
親発言:
子発言: 453. Re: C と perlで $i++ したり++$i したり [Bruce.] 2004/8/28(23:19)