问如果赋值运算符是:=,那么意外写出类似if(a = b) ?
答是的,但输入典型程序中包含的所有赋值语句会稍微麻烦一些。
无论如何,现在担心这类事情真的太晚了。赋值的=以及比较的==的选择,无论对错,都已在二十多年前做出,不太可能改变。(关于这个问题,许多编译器和版本lint会警告if(a = b)及类似表达式;另请参阅问题 17.4。)
作为历史趣闻,之所以做出这些选择,是因为观察到赋值比比较更频繁,因此值得更少的击键次数。实际上,在 C 及其前身 B 中使用=作为赋值运算符,相对于 B 的前身 BCPL 而言是一个改变,BCPL 使用:=作为其赋值运算符。(另请参阅问题 20.38)。