#include<stdio.h> #define DELTA sizeof(int) int main(){ int i=0; if(i-DELTA>=0) { printf("true"); } }输出结果为什么是true
时间: 2023-12-05 18:04:46 浏览: 116
#include <stdio.h>
程序输出为true是因为,当i的值为0时,i-DELTA的结果为-4,但在if语句中使用了无符号整数的隐式转换,将负数转换为了一个非常大的正整数(4294967292),因此if语句的条件为真,会输出true。
这种情况可以通过将if语句中的条件改为(i>=DELTA)来避免,这样即使i为0时,条件也会为假。
阅读全文