我在学习代码(特别是C)的最初阶段。 在写这计数为研究目的数组的字符函数,我质问自己(和我敢肯定这件事),如果是为了简化这个迭代的可能性:简化字符串迭代
int stringlength(char* s)
{
int i = 0;
while (s != NULL && *(s + i) != '\0')
i++;
return i;
}
我想要在迭代本身内保持i++
(for循环?)。
我很欣赏你们给我的任何提示。如果你发现一些问题无关,我做错了 - 请让我知道。
函数 – UnholySheep
开始时可以将'!= NULL'的检查提取为'if'条件请注意,名称以'strx'开头的函数其中'x'是小写字母,它们是坏主意,名字的整个空间都是为标准库保留的。这个特殊的函数应该是安全的,但是因为我们已经有'strlen()'。 :) – unwind
感谢提示:)想解压缩{s!= NULL},我只是出于性能原因(不检查数组中相同的每个字符)提取此检查吗? –