gpt4 book ai didi

c - 访问三维字符数组

转载 作者:行者123 更新时间:2023-11-30 15:03:44 25 4
gpt4 key购买 nike

char t[] = {'a','b','$'};
char nt[] = {'S','A'};
char table[2][3][2] = { {"AA","AA",""}, {"aA","b",""} };

void main(){

printf("%s",table[0][0]);
}

输出:

AAAA

输出应该是AA,有人可以帮我吗,无法找出问题所在。

最佳答案

您的数组没有空间用于空终止符。 table 最右边的维度必须至少为 3 才能将元素用作 C 字符串。您现在正在访问数组的越界(当您在 printf() 中使用 %s 打印它时),即 undefined behaviour .

char table[2][3][3] = ...

如果您要使用更长的字符串文字,请类似地调整长度。

顺便说一句,void main() 不是 main() 的标准签名。使用int main(void)或类似的。

关于c - 访问三维字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40584501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com