読者、
この誤ったコードを実行すると、コンピューターで何が起こるかを誰かに説明してもらえますか。gnugccコンパイラでコンパイルされます。コードブロックで。
これは誤ったコードです:
char data[5];
data[0] = '1';
data[1] = '10';
data[2] = '30';
data[3] = '50';
if(sizeof(data) == 5)
{
adjust(data);
}
char data [5]を宣言したため、sizeof(data)は5です。
data [1]を読み込もうとすると、最後の文字が返されることに気づきました。'0'または'48'のいずれか。
それで、data [1]の「1」はどうなり、私の記憶はどうなるのだろうと思っていました。