私はちょうどこのクワインの質問に出くわしましたが、誰も実際にどのように機能するのかを知りませんでした: C/C++ プログラムは、独自のソース コードを出力として出力します。
char*s="char*s=%c%s%c;main(){printf(s,34,s,34);}";main(){printf(s,34,s,34);}
私が特に理解していないのは、intを変更したにもかかわらず、次の出力が同じであることです:
char*s="char*s=%c%s%c;main(){printf(s,34,s,34);}";main(){printf(s,5,s,11);}
それはまだ34を印刷します!誰かがこの手順を順を追って説明してもらえますか?