char配列を指すacポインタがインクリメントされると、その配列の次の要素を指すと思いました。しかし、これを試してみると、2回インクリメントする必要があることがわかりました。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;
}
私は何か間違ったことをしていますか?または、ポインタをインクリメントする方法を誤解していますか?