/ *编写一个返回字符串长度(char *)的函数,不包括最终的NULL character.It不应该使用任何标准库函数。你可以使用算术和 取消引用运算符,但不是索引运算符([])* /
#include "stdafx.h"
#include<iostream>
using namespace std;
int stringLength(const char * str) {
int length = 0;
while (*(str + length) != '\0') {
++length;
cout << length;
return length;
}
int _tmain(int argc, _TCHAR* argv[]){
stringLength({ 'a', 'b', 'c', '\0' });
return 0;
}
不知怎的,我觉得我没有在main函数中正确调用我的函数,但我不确定我该怎么做。调用此类函数的正确方法是什么? (对不起,如果这是一个愚蠢的问题:我是C ++的新手)
答案 0 :(得分:1)
赞:int l = stringLength("abc");
C常量字符串自动为零终止,因此您不需要指定额外的零字符。
答案 1 :(得分:1)
传递一个字符串。例如
int len = stringLength("abc");
FWIW,将size_t
用于此函数的返回类型是不恰当的。当您尝试使用其他代码时,您会遇到使用int
而不是size_t
的阻力。
问题中的代码格式也很差,无法编译。你省略了一个右大括号。获得这种细节恰到好处是值得的。