Size t 大小\u t符号丢失(返回)(整数到无符号整数))
此程序通过警告消息按子字符串计算字符串的长度 -\ 我的stringLength函数返回的大小为 是格式说明符中的错误还是如何返回值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 *
#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