私はいくつかのコードをプログラミングしていましたが、この問題に遭遇しました。2 つの配列を宣言しました。1 つの配列は start と呼ばれ、文字列 hello に初期化されます。2 番目の配列は user と呼ばれ、for ループで_として宣言されることになっています。ただし、start という配列が変更されるため、出力は次のようになります。
Printed word: Hello
Array Length: 5
_____o
開始配列が書き換えられるのはなぜですか? これが私が自分で学んでいる初心者の質問である場合は申し訳ありません。
#include <stdio.h>
#include <string.h>
int main(void)
{
size_t length = 0;
char start [] = {"Hello"};
printf("\nPrinted word: %s\n", start);
length = strlen(start);
printf("Array Length: %zi\n", length);
char user[] = {0};
for(size_t x = 0; x < length; x++){ //starting here
user[x] = '_';
}
printf("%s\n",start);
}