我正在参加在线 C 语言测试(不是为了工作,只是为了我自己),并且我不断遇到这种使用哈希符号的问题。我假设这不是拼写错误,而且我不熟悉哈希符号的这种用法。
#include <stdio.h>
int* func()
{
int num = 10;
return #
}
int main()
{
int *ptr = func();
printf("%d\n", *ptr);
return 0;
}
上述 C 代码的输出是什么?
答案是运行时错误,解释是
The variable defined in a function will be allocated in stack segment, which will be removed when the function returns. So accessing the address of those variables results in segmentation fault.
最佳答案
创建测试的人没有正确编码他们的 HTML。他们希望这条线看起来像:
return #
他们将其直接放入测试页面的 HTML 中,忘记了 &XXX;
是输入 HTML 实体的方式。 #
是 #
字符的实体。他们应该写:
return &num;
&
是 &
字符的实体。
关于c - C中#符号的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47998504/