輸出結果
ABCDEF BCDEF CDEF DEF EF F核心機制解析
char *s = "ABCDEF":s指向字符串常量首地址('A'處)while (*s):*s非\0即真,指針未到字符串末尾繼續循環printf("%s\n", s++):
•%s從s指向位置輸出至\0
•s++後置遞增,本次調用用舊值,下次循環s指向下一字符關鍵知識點
s++、s--、s += n均合法,控制輸出起始位置printf("%s", s++)輸出當前位置,之後指針前進*s = 'X'未定義行為,但s++移動指針本身合法s指向中間,s--可向前輸出 0; len--)
printf("%.*s\n", len, s); // %.*s 輸出指定長度
字符串指針s本質是char*,支持指針算術運算。while(*s) printf("%s\n", s++)利用指針遞增遍歷與%s從指針處輸出到\0的特性,以極簡代碼實現了所有後綴輸出——這是C語言指針靈活性的經典展示。