我想了解以下代碼示例指針程序的片段,不知道是否有可能問這些問題,如果不是,我會刪除!瞭解複雜的指針示例代碼C
void f1(char *s) {
char *p, *q;
for (p=q=s; *p != '\0'; p++) {
if ((*p >= 'A' && *p <= 'Z') || (*p >= 'a' && *p <= 'z'))
*q++ = *p;
else if (q > s && *(q-1) != '\n')
*q++ = '\n';
}
*q = '\0';
}
我知道有三個指針P,S和Q,但我不知道是什麼p=q=s
限嗣繼承?是否檢查指針p和q是否在char
a-z之間(其中一個是小寫字母,另一個是大寫字母)並遍歷字母?
任何幫助,將不勝感激!
DO(循環,這WHE這裏不做的突破時除外)你知道你使用'''而不是''來表示字符嗎? – mch
是的,抱歉。那是我教授在幻燈片中的榜樣。我會改變它。 – Nuggets10
你應該學會使用調試器。用幾個隨機字符串測試代碼並在運行時進行調試。這應該讓你對代碼的實際操作有所瞭解。 –