【发布时间】:2021-02-27 09:28:27
【问题描述】:
我在练习指针题时遇到了这个问题,根据我的理解,我认为选项 C 是正确的,但选项 D 是正确答案,所以我在 VS Code 上运行了代码,它确实给出了编译错误。
字符串由 NULL 字符终止,那么如果 for 循环正在检查 NULL 字符的出现,为什么会发生错误。
请有人解释一下这段代码有什么问题吗?以下是实际代码:
#include<iostream>
using namespace std;
int main() {
char st[] = "ABCD";
for(int i = 0; st[i] != ‘\0’; i++) {
cout << st[i] << *(st)+i << *(i+st) << i[st];
}
return 0;
}
【问题讨论】:
-
来自How do I ask a good question?:“请勿发布代码、数据、错误消息等的图片 - 将文本复制或输入到问题中"
标签: c++ for-loop pointers compiler-errors null