我的教授让我们制作我们自己的函数mystrcat,mystrlen和mystrcopy。我有一个问题,即该字返回错误的字节数。或者,相反,我认为是。
短语:"HELLO WORLD!"
,如果我没错,应该返回13个字节?喜欢在:
const char char_literal[] =
{ 'H', 'E', 'L', 'L', 'O', ' ', 'W', 'O', 'R', 'L', 'D', '!', '\0' };
// 1 2 3 4 5 6 7 8 9 10 11 12 13
我写了一个函数myStrLen()
,它返回{ 'H', 'E', 'L', 'L', 'O', ' '}
)为6
,但由于它是唯一的,最后应该有一个'\0'
吗? />
我应该返回i + 1
还是6
正确?
int myStrLen(char stringInput[]){
for(int i = 0; ; i++){
if(stringInput[i] == '\0'){
return i;
答案 0 :(得分:4)
如果您的教授告诉您编写一个与strlen
完全相同的函数,那么它不会计算字符串终止字符:
std :: size_t strlen(const char * str);
返回给定字节字符串的长度,即数字 字符数组中的第一个元素所指向的字符 str而不包括第一个空字符。 ...
所以返回i
是正确的,除了“原始”strlen
采用const输入参数并返回size_t
...