猜猜下面代码的输出是什么?
#include <stdio.h>
int array[] = {1,2,3,4,5,6,7,8,9,10};
#define TOTAL_ELEMENTS sizeof(array)/sizeof(array[0])
int main(){
int d = -1;
printf("d:%d/n",d);
if(d > TOTAL_ELEMENTS){
printf("d:%d d > TOTAL_ELEMENTS:%d/n",d,TOTAL_ELEMENTS);
}
if(d < (unsigned char)1){
printf("d:%d d < unsigned char 1/n",d);
}
if(d > (unsigned int)1){
printf("d:%d d > unsigned int 1",d);
} 
getchar();
}
ANSI C编译器下的结果为:
d:-1
d:-1 d > TOTAL_ELEMENTS:10
d:-1 d < unsigned char 1
d:-1 d > unsigned int 1
知道静悄悄的改变发生在哪儿了么? ;-)
本文通过一个简单的C语言代码示例,展示了不同条件判断语句的执行结果,并解释了在不同数据类型比较时可能发生的现象。


1729

被折叠的 条评论
为什么被折叠?



