printは、関数ではなく言語構造です。
常に1を返し、算術演算子より優先順位は下になっています。
なので、
lang
1print print('8') + print('2');
は下記に相当します。
lang
1print (print ('8' + print '2'));
これは下記のようなステップを踏んで実行しています。
- print 2 2 をプリントし、1を返す。
- 8 + 1 を計算し、9を返す。
- print 9が 9 をプリントし1を返す。
- print 1が 1 をプリントする(また、1を返しますが不適切な結果を受けるものはありません)。
なので、出力は291となります。
lang
1echo '7' + '0.1' , print('4') + 3
これは下記に相当します。
lang
1echo (7 + 0.1);
2echo (print (4 + 3));
これは下記のようなステップで実行されています。
- 7 + 0.1を計算し、7.1を返します。
- 7.1をエコーし、7.1をプリントします。
- 4 + 3を計算し、7を返します。
- print 7 が7をプリントし1を返します。
5.echo 1が1をプリントします。
なので、出力は7.171となります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。