【发布时间】:2015-09-16 22:48:51
【问题描述】:
所以我正在用标准 C 编写字符串基础教程。
我有:
char mystring[] = "HAL";
for (int i = 0; i < 3; i++)
mystring[i] += 1;
for (int k = 0; k < 10; k++)
printf("\n %d", mystring[k]);
哪个输出:
73
66
77
0
4
0
0
0
0
0
现在 mystring[3] = 0 对我来说很有意义,因为我读到字符串文字以空字符结尾,所以字节数是 n+1 个字符。我不知道为什么 mystring[4] = 4 虽然。我在 ascii 表中查找了 4,它说它是“传输结束”。我在 C 字符串的传输字符结束时做了一些快速的谷歌搜索,但没有找到任何东西。那么有人能告诉我这里发生了什么吗?这是一个标准的东西吗?我可以期待它在什么时候发生?
【问题讨论】: