C语言学习笔记---sizeof运算符的返回类型

sizeof运算符返回的是一个unsigned类型

#include<stdio.h>

int array_table[6]={12,14,15,35};

#define LEN (sizeof(array_table)/sizeof(array_table[0]))

int main(void)
{

    int x=-1;

    if(x<=LEN)
        printf("can be printfed!!!! ");
    else
        printf("Can not be printf!!!");

    return 0;
}
/*********************************
程序输出结果:
Can not be printf!!!
**********************************/

 运算符sizeof的返回值是unsigned类型,x是int类型,比较时会将x升级为unsigned类型,而-1变为unsigned类型是一个很大的整数。

猜你喜欢

转载自blog.csdn.net/tyustli/article/details/82966413