此程序通过减法警告消息
计算字符串的长度- \
我的stringLength函数返回一个size_t 我在格式说明符中的错误或我如何返回我的值?
#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++;
}
}
答案 0 :(得分:1)
您遇到的问题是operator-()
返回有符号值,而不是无符号值。因为在你的日常生活中,你知道价值总是积极的,你可以向size_t
添加一个强制转换,而不用担心这个标志是错误的。
return static_cast<size_t>(str - strCopy); //C++
或
return (size_t)(str - strCopy); //C