是否可以像指针一样增加/推进字符数组?
例如,我可以对字符指针执行以下操作:
while (*cPtr)
printf("c=%c\n", *(cPtr++));
但我无法做到这一点:
// char cArray[] = "abcde";
while (*cArray)
printf("c=%c\n", *(cArray++)); // Compile error: 19 26 [Error] lvalue required as increment operand
目的是能够在不知道字符数组长度的情况下迭代遍历它。 我的想法是只需继续前进直到找到空字符,除非有更简单的方法?
char a[] = "abcde";
int index = -1;
while (a[++index])
printf("c=%c\n", a[index]);
cArray
是如何定义的?我猜是char[]
,但最好还是贴出来 :) - m0skit00
结尾的字符数组,但并不是每个字符数组都是C语言中的“字符串”。因此可以得出结论:并非每个(char
)数组都必须以0
结尾。 - alk