【发布时间】:2020-05-13 17:33:50
【问题描述】:
我处于最低水平,并且真的很想学习 C,但我就是不知道它是如何工作的。
char name[20] = "Dummy Text";
name[0]='M';
printf("%s", name);
这完美地工作并将文本中的 D 更改为 M。
char name[20];
name[20]="Dummy Text";
name[0]='M';
printf("%s", name);
这只会打印 M。 为什么如果我设置变量的值晚于声明它时,它的工作方式会有所不同?根据我所看到的,使用数字它可以正常工作。
【问题讨论】:
-
name[20]是char你不能给它分配字符串 -
name[20]也超出了数组的末尾。数组声明后,可以使用复制操作更新数组(例如strcpy(name, "Dummy Text")),但不能使用赋值语句将字符串文字复制到数组中。