为什么这个程序没有抛出任何错误
Why this program is not throwing any error?
我去面试了。采访者提出了这个问题。看到这个问题后,我告诉他,由于p
未声明,所以会出现错误。但当我在电脑上运行该程序时,我对ink
的答案/输出感到惊讶,而且没有任何错误。请帮我理解这个问题。
#include <iostream>
using namespace std;
int main()
{
static char *s[] = {"black", "white", "pink", "violet"};
char **ptr[] = {s+3, s+2, s+1, s}, ***p;//Here
p = ptr;
++p;
cout << **p+1;
return 0;
}
这个怎么样:-
static char *s[] = {"black", "white", "pink", "violet"};
^ ^ ^ ^
| | | |
| | | |
| | | |
+------------+ | |
+---|---|----+ |
| | | |
+ ---|---|---|------------+
| | | |
char **ptr[] = {s+3, s+2, s+1,s};
^ ^
char ***p; | |
| |
p=ptr ; --------+ |
|
++p; -----------------+ {'p','i','n','k'}
^
**p+1 -------------------------+
由于您只是在询问p
:的声明
char **ptr[] = {s+3, s+2, s+1, s}, ***p;//Here
与相同
char **ptr[] = {s+3, s+2, s+1, s};
char ***p;
相关文章:
- 类和构造函数中的函数根本不起作用,并且不返回任何错误
- boost::p rogram_options 在指定意外的位置参数时不报告任何错误
- Antlr cpp 运行时 任何错误的指针转换?
- 我可以使用 try catch 语句来捕获任何错误而不是具体错误吗?
- 为什么 C++ 中的分号在插入代码开头时不显示任何错误?
- 如何修复任何错误
- 为什么<<低;和 cout<<v.begin;单独给出错误,但 cout <<(lower.begin());没有给出任何错误,并使代码易于编译
- 我是否需要处理以下代码中的任何错误情况?
- 我的代码在构建时没有任何错误,但无法正常工作
- 由于错误,c ++代码无法在Visual Studios上运行,但不显示任何错误
- ROS2 COLCON构建未在Windows中显示任何错误消息
- 如何调试 gRPC 服务器崩溃而没有任何错误
- 尝试使用类,但未打印任何内容.不会生成任何错误.我错过了什么吗?
- 代码没有任何错误,但什么也不在命令提示中
- GTK图像突然不会刷新任何错误或警告
- STL 中是否有任何错误代码异常
- 用“ strcpy”在2D数组中删除(字符)的一行(字符)时是否存在任何错误
- Oracle ODBC 插入失败,没有任何错误诊断
- 检查输入的文件是否有任何错误
- 带有绝对路径的LoadLibrary返回不正确的HMODULE,没有任何错误