我有以下情况(unix):
x is a long and has value 300
y is a long and has value 50000
if (x <= y) printf("Correct.");
if (x > y) printf("Ouch.");
现在我总是得到“哎哟”。这意味着程序一直告诉我300大于50000!
当我这样做时它才会再次起作用
if ((int)x <=(int) y) printf("Correct.");
if ((int)x > (int)y) printf("Ouch.");
那么比较运算符出了什么问题?
答案 0 :(得分:1)
我发现了错误。它使用sscanf(...%d)而不是sscanf(...%ld)。 :( 谢谢@Zan Lynx的提示并感谢你们所有人!