我认为如果指向 char 数组的 ac 指针递增,那么它将指向该数组中的下一个元素。但是当我尝试这个时,我发现我必须增加它两次。尝试使用 sizeof(char) 进行增量,我发现添加 char 的大小太多了,因此必须将其除以 2。
#include <stdio.h>
int main(int argc, char * argv[]){
char *pi;
int i;
pi = argv[1];
printf("%d args.\n",argc-1);
printf("input: ");
for(i=0;i<argc-1;i++){
printf("%c, ",*pi);
/*The line below increments pi by 1 char worth of bytes */
//pi+=sizeof(pi)/2;
/* An alternative to the above line is putting pi++ twice - why? */
pi++;
pi++;
}
printf("\n");
return 0;
}
难道我做错了什么?还是我误解了递增指针的方法?