char 和unsignedchar的区别

测试用例
#define TAGLEN 1290
/************************************************************
* @brief <funcName:> Author:刘禹 20121219
==================================================
* @param Tag 计算Tag数组的长度,结尾符为0,长度不包括0 类似strlen,只是我们这里用int代替char
==================================================
* @return 数组的长度
**********************************************************/
int strlenEx(unsigned char *Tag)
{
    int len=0;
    int i=0;
    for(i=0;i<TAGLEN;i++)
    {
        if(0==Tag[i])
        {
            break;
        }
        else
        {
            len++;
        }
    }
    return len;
}
int main( int argc, char *argv[] )
{
    timeval tv1, tv2;
    gettimeofday(&tv1, NULL); 
    if (  1!= argc )
    {

        return 1;
    }
    char a[100]="刘禹锡是个大好人\n";
    unsigned char b[100]="刘禹锡是个大好人\n";
    printf("%s",a);
    size_t len=strlen(a);
    for(int i=0;i<len;i++)
    {
        printf("%d\n",a[i]);
    }
    printf("print b\n");
    printf("%s",b);
    len=strlenEx(b);
    for(int i=0;i<len;i++)
    {
        printf("%d\n",b[i]);
    }
    gettimeofday(&tv2, NULL);
    fprintf( stderr,"time elapsed: %.2f ms\n", (float)((tv2.tv_sec - tv1.tv_sec)*1000000+(tv2.tv_usec-tv1.tv_usec))/1000);
    return 0;
}


原文地址:https://www.cnblogs.com/finallyliuyu/p/2828111.html