【问题标题】:Why is this Code giving an "stray '\' in program" error? [closed]为什么此代码会给出“程序中的“流浪 '\'”错误? [关闭]
【发布时间】: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;
}

【问题讨论】:

标签: c++ for-loop pointers compiler-errors null


【解决方案1】:

(U+2018 左单引号)和(U+2019 右单引号)是 Unicode 字符,您的源文件以 UTF-8 格式保存。

您可能从使用这些字符的某个网站复制了此代码。

您需要改用 ASCII ' (U+0027 APOSTROPHE):

st[i] != '\0'

【讨论】:

  • 感谢使用后'问题得到解决,代码运行完美
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-30
  • 1970-01-01
  • 2020-02-27
  • 2013-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多