C在下面的程序中编程“\”在t[5\]中是什么意思

C在下面的程序中编程“\”在t[5\]中是什么意思,c,arrays,slash,C,Arrays,Slash,数组中的\是什么意思?提前谢谢 我在中找到了这个程序。在这种情况下不允许使用反斜杠,它的语法无效。 您可以在此处验证它。 您将得到以下错误: #include <stdio.h> int main(void) { int i,t[5\]; for(i = 0; i < 5; i++) t[i\] = 2 * i; i = 0; for(i = 0; i < 5; i++) i += t[i\];

数组中的\是什么意思?提前谢谢


我在中找到了这个程序。

在这种情况下不允许使用反斜杠,它的语法无效。 您可以在此处验证它。 您将得到以下错误:

#include <stdio.h> 
int main(void) { 
    int i,t[5\]; 
    for(i = 0; i < 5; i++) 
        t[i\] = 2 * i;
    i = 0; 
    for(i = 0; i < 5; i++) 
        i += t[i\]; 
    printf("%d",i); 
    return 0; 
}
如果你想编译没有错误的代码,你只需要删除无效的\

实际上,您可以使用反斜杠作为转义字符,例如在转义序列中使用它,如描述的新行字符“\n”。

它的意思是:

< C++学院院长Christopher Boguslawski > < 未能让某人正确检查他们的示例问题是否有错误

代码不会按编写的方式运行

可以推测,他们希望\位于行的末尾,因为它是一个有效的行延续字符,并且忘记了将换行符回车。虽然这可以解决问题,但他们为什么要在每一个端部支架之前这么做是没有道理的

更有意义的是,他们可能在整个文档中进行了查找和替换,并意外传播了错误

推测:可能是某个排版工人将所有数组都写为:t或其他一些配置,使它们返回并替换为正确的括号

然后在一阵懒惰中,他们找到了一个不合适的替代品

这是有意义的,因为\和]在键盘上紧挨着。他们可能是胖手指

事实上,整个文档在每个]之前都有一个\这是一个冒烟的事实

因此,很可能是一个草率的查找/替换,不推荐了他们的整个文档

这意味着t[5\]中的\是一个错误。

程序不正确,\]是一个语法错误

一个可能的解释是,作者不得不避开一些C操作符,例如[排版代码片段,他也逃脱了],而文字处理软件似乎没有考虑这些操作符

忽略这些\或将所有出现的\]替换为]

请注意,这是一个棘手的问题,编写此代码的程序员应该被解雇

请注意,还有其他错误。例如,问题11如下:

如果您试图编译并运行此程序,会发生什么情况

prog.c: In function ‘main’:
prog.c:4:13: error: stray ‘\’ in program
    int i,t[5\];
             ^
prog.c:7:10: error: stray ‘\’ in program
       t[i\] = 2 * i; i = 0;
          ^
prog.c:11:15: error: stray ‘\’ in program
       i += t[i\];
               ^
A.程序输出6 B.程序输出3 C.程序输出2 D.程序输出4

忽略\],程序具有潜在的未定义行为,因为%d需要一个int,但传递给printf的值具有类型size\t


问题13、14、15、17也有类似的问题。

在我看来不像C。你试过编译它吗?你有错误吗?您应该这样做,因为反斜杠的唯一含义是语法错误。你从哪里得到代码的?这可能是复制粘贴错误吗?或者一些失败的代码生成html?正如您所看到的,代码片段中的标记代码不起作用,所以请避免在代码中使用它们。在代码中使用注释。请编辑您的问题以删除不起作用的粗体标记。充其量,您有排版或转码错误。显然,使用这个程序所使用的文档作为有效C代码的参考是不安全的,如果是我,我会怀疑来自同一来源的所有类似文档。正如我和其他人所说,@Tapan,您询问的代码不是有效的C。特别是,在您链接的文档中,问题4的正确答案是编译器拒绝该程序或类似的程序。这不是提供的选项之一,因此,我再次怀疑地查看该文档和来自同一来源的其他文档。在每个版本后面加上换行符后,我的版本给出了答案C:13。
#include <stdio.h>
  int main(void) {
      int t[2\][3\] = { { 3, 2, 1 }, { 1, 2, 3} };
      printf("%d", sizeof(t) / sizeof(t[1\][1\]));
      return 0;
  }