Size t 大小\u t符号丢失(返回)(整数到无符号整数))

Size t 大小\u t符号丢失(返回)(整数到无符号整数)),size-t,Size T,此程序通过警告消息按子字符串计算字符串的长度 -\ 我的stringLength函数返回的大小为 是格式说明符中的错误还是如何返回值 #include <stdio.h> #include <stdlib.h> size_t stringLength(const char *str); int main(void) { return 0; } size_t stringLength(const char *str) { const char *

此程序通过警告消息按子字符串计算字符串的长度

-\

我的stringLength函数返回的大小为 是格式说明符中的错误还是如何返回值

#include <stdio.h>
#include <stdlib.h>

size_t stringLength(const char *str);

int main(void) 
{


    return 0;
}

size_t stringLength(const char *str)
{
    const char *strCopy = str;

    while (*str)              
    {
        str++;                
    }

}
#包括
#包括
长度(const char*str);
内部主(空)
{
返回0;
}
大小\u t字符串长度(常量字符*字符串)
{
常量字符*strCopy=str;
while(*str)
{
str++;
}
}

您遇到的问题是
运算符-()
返回有符号值,而不是无符号值。因为在您的例程中,您知道该值始终为正值,所以您可以向
size\t
添加强制转换,而不必担心符号错误

return static_cast<size_t>(str - strCopy); //C++
return (size_t)(str - strCopy); //C