【发布时间】:2020-03-01 20:50:51
【问题描述】:
int main(void)
{
char mine[5] = "hello";
char *pen = mine;
while(*pen != '\0')
{
printf("%c\n", *pen);
pen++;
}
}
int main(void)
{
char mine[5] = "hello";
char *pen = mine;
while(*pen != '\0')
{
printf("%c\n", *pen);
*pen++;
}
}
我正在尝试用字符串掌握指针的概念。我运行了这两个代码并得到了相同的结果,但是我在使用 *pen++ 的代码的第二个版本时收到了警告,但仍然能够运行。 他们每个人都在做什么,为什么它给了我相同的输出?
【问题讨论】:
-
请注意
char mine[5] = "hello";缺少代码正在寻找的空终止符。它需要是char mine[6] = "hello";或char mine[] = "hello";