をコンパイルするscanf("%s", &var);
と、gcc から警告が返されます。
warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘char (*)[20]’
ただし、コンパイルするscanf("%s", var);
と、警告は適用されません。コードの両方の部分と私が読んでいる本では、アンパサンドを使用するように具体的に述べられていますが、一部の例ではそうではありません。
私の質問は、本で指定されていない場合でも、アンパサンドを使用し続ける必要があるかということです。