c语言中非号的bug?
int isTmax(int x) { return !(x+x+2)==!(x+1+x+1);}int main(){ printf("%d",isTmax((1<<31)-1)); return 0;}
在这个程序中,去掉非号则成立,经测试x+x+2取非结果不变,x+1+x+1结果由0变1
你用的是什么编译器?我用gcc或vc++2019结果都是1,无法加不加!
热门标签:
int isTmax(int x) { return !(x+x+2)==!(x+1+x+1);}int main(){ printf("%d",isTmax((1<<31)-1)); return 0;}
在这个程序中,去掉非号则成立,经测试x+x+2取非结果不变,x+1+x+1结果由0变1
你用的是什么编译器?我用gcc或vc++2019结果都是1,无法加不加!