我正在编写一些代码,我遇到了这个问题。我声明了两个数组,一个数组叫做 start,它初始化为字符串 hello。第二个数组称为 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);
}