#include <stdio.h>
main()
{
printf(" %d\n",'-'-'-'+'/'/'/');
}
Run Code Online (Sandbox Code Playgroud)
它的输出为1.
我也试过不同的组合,但不能确定输出?
字符常量的'-'ASCII值为45,而'/'ASCII值为47.因此,假设您在使用ASCII或UTF-8字符编码的系统上运行,则表达式求值为
'-' - '-' + '/' / '/' == 45 - 45 + 47 / 47 == 0 + 1 == 1
Run Code Online (Sandbox Code Playgroud)
因此输出"1".
编辑
KerrekSB正确地指出底层字符集不必是ASCII; 我只是用它来指出字符常量具有相应的数值.无论编码(ASCII,EBCDIC,UTF-8等),'-' - '-'总是评估为0并'/' / '/'始终评估为1.