char* fun()
{
return("samsung india");
}
main()
{
printf("%s",printf("electronics")+fun());
}
出力:「エレクトロニカ」
誰かが私にこの出力を説明してもらえますか?
出力はランタイムごとに異なる可能性があると思います..そこで何が起こるか:
printf("%s",printf("electronics")+fun());
これを想定してください: printf("%s", arg); あなたの引数 = printf("electronics")+fun()
arg は char* であると想定されるため、ポインター...実際には、arg が評価されると、printf("electronics") は出力エレクトロニクスを提供し、値 11 (正常に印刷された文字の数) を返します。fun() は char を返します。 * - samsung india を指すメモリへのポインターですが、そのポインター 11 に追加すると、ポインターは「ia」を指し、これが出力に追加されます...