c - C中#符号的使用

标签 c

我正在参加在线 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 &num;

他们将其直接放入测试页面的 HTML 中,忘记了 &XXX; 是输入 HTML 实体的方式。 ## 字符的实体。他们应该写:

return &amp;num;

&& 字符的实体。

关于c - C中#符号的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47998504/

相关文章:

c - 在 C 中传递给 execv 的参数

c - 从文件中获取数字并将它们放入数组中需要的建议

c - c中zmq客户端内存泄漏

在 while 循环中使用 scanf() 检查输入类型

有人可以和我一起浏览这个 MIPS 代码吗?

c# - Interop C#/C : AccessViolationException 问题

c - 等式 "*x_ptr = &x "中每个变量的伪代码翻译是什么?

c - 如何在 C 中手动将环境值设置为整数零

c++ - 对于某些输入,通过按位运算完成的 2 除法器的舍入幂失败

c - 如何通信 AngularJS 的 $http 路由和用 C 编程开发的 API