【发布时间】:2015-09-13 18:47:52
【问题描述】:
#include<stdio.h>
int main()
{
char arr[] = "abcdef";
char *ptr = arr;
while(*ptr != '\0')
++*ptr++;
printf("%s %s",arr,ptr);
return 0;
}
输出:bcdefg
它正在打印给定的每个字母的下一个字母。 到底发生了什么?
【问题讨论】:
-
我是个业余爱好者。任何想法? @hacks
-
试试
printf("[%s] [%s]\n", arr, ptr); -
我假设是 ++*p++ 1. 取消引用 2. 增加值 3. 增加地址。我说的对吗?
-
@pmg 它正在打印数组 [bcdefg]
标签: c pointers increment decrement