一个错字后,下面的表达式(简化的)编译和执行:这个表达式是什么意思,它为什么编译?
if((1 == 2) || 0 (-4 > 2))
printf("Hello");
当然
,0不应该存在。
它为什么编译,表达式是什么意思?
原(简体)应该是这样的:
if((1 == 2) || (-4 > 2))
printf("Hello");
没有这并不编译:
if((1 == 2) || true (-4 > 2))
printf("Hello");
if((1 == 2) || 1 (-4 > 2))
printf("Hello");
if((1 == 2) || null (-4 > 2))
printf("Hello");
我刚刚试过这个,并得到[警告C4353](http://msdn.microsoft.com/en-us/library/2a68558f.aspx):“使用非标准扩展名:常量0作为函数表达式。 '__noop'函数内在的相反“ – Rup
我得到了'错误:调用对象'0'不是一个函数' –
这已经被回答了http://stackoverflow.com/questions/2198950/why-is-void-0-a-no-operation-in-c-and-c –