我在學習代碼(特別是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},我只是出於性能原因(不檢查數組中相同的每個字符)提取此檢查嗎? –