こんにちは私はこれについての説明を以下で得るのに混乱しました、誰かが私にそれを説明できますか?前もって感謝します。
#include<stdio.h>
int main(){
char *arr,c;
arr = &c;
arr++;
*arr = 'a';
arr++;
*arr = 'b';
arr++;
*arr = 'c';
arr--;
arr--;
printf("\narr 1 = %c",arr);
printf("\narr 2 = %c",arr[1]);
printf("\narr 3 = %c",arr[2]);
getch();
return 1;
}
出力は次のとおりです
。arr1=
a arr 2 = b
arr 3 = c
しかし、行を変更した場合:
printf("\narr 1 = %c",arr);
と
printf("\narr 1 = %c",arr[0]);
現在の出力は次のとおりです
。arr1=
arr 2 = b
arr 3 = c
なぜ「a」が印刷されないのですか。
*プログラムを悪いコーディングとして疑問視しているすべての人のために..このようなポインタを使用するのは良いコーディング方法ではないことを私は知っていますが、私の質問は、arr[0]がarr[1]&arr[のように何も出力しない理由です。 2]割り当てられたものを印刷していますか?