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;
}