コードはあなたが指示したことを正確に実行しています。おそらく、あなたが何をするように指示しているのか理解していないと思います.
char *s = "nice to meet you!";
// s is a pointer to a character
// s* is the character that "s" points to
s
文字「n」を指しています。s
また、NULL で終了する文字列リテラルの最初の文字を指している場合もあります。
printf("Original character: %c\n",*s); //Note the %c, we're looking at a character
output-> Original character: n
printf("Original string: %s\n",s); //Note the %s, and we're feeding the printf a pointer now
output-> Original string: nice to meet you!
オフセットに関しては:
*s = the character s is pointing at, 'n'
*(s+1) = the next character s is pointing at, 'i'
対:
s = the address of the string "nice to meet you"
(s+1) = the address of the string "ice to meet you"