首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么解引用2次有效,3次出现分段错误?

为什么解引用2次有效,3次出现分段错误?
EN

Stack Overflow用户
提问于 2018-10-26 13:28:05
回答 1查看 60关注 0票数 0

如何打印具有两个取消引用的3d数组的元素。我认为它需要类似于3取消引用printf("%c",*(*(*(a+0)+1)+1));的东西。有一个理解的危机。

代码语言:javascript
复制
int main() 
{ 
    char a[2][3][3] = {'a','b','c','d','e','f','g', 
                           'h','i','j','k','l','m'}; 
    printf("%s ", **a); 
    getchar(); 
    return 0; 
} 
EN

回答 1

Stack Overflow用户

发布于 2018-10-26 19:24:33

为指定的%s提供的参数应为指针。对于’%s,printfuses the pointer to fet characters from memory. Therefore, for a three-dimensional array, applying two*to the name results in the correct type, a pointer tochar`.

对于%c,参数应该是具有字符值的int。将三个*应用于数组可以实现这一点。

注意:尽管**a%s提供了正确的类型,但参数应该指向以null结尾的一维字符串中的一个字符。允许字符跨数组维度继续是不可靠的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53002016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档