char line[20] = "this is a buff" ;
char *word = line ;
word++;
word[-1] = 'a' ;
1.line实际为char ()[20],表示指向20个字符型数组的指针,与char 是不同的
2.如果是char *line=”world”, 则不能用负的下标去访问。因为”world”存储在常量区,无法通过指针line去修改
字符循环的常见错误
char *s = "abcdef";
int n=100;
while (s && n!=0)
{
putchar(*s ++);
n--;
}
这样会输出错误字符串
实际应该这样
while(*s)
{
putchar(*s++);
}