gpt4 book ai didi

c - 打印二维矩阵?

转载 作者:行者123 更新时间:2023-11-30 20:58:18 27 4
gpt4 key购买 nike

你好,所以我不明白我的错误在哪里,我想逐行打印 2D 矩阵的内容:

void print_matrix(char s[], double m[], size_t rows, size_t cols)
{
printf("%s =\n", s);
for (size_t i = 0; i < rows; i += 1)
{
for (size_t j = 0; j < cols; j += 1)
{
printf("%d ", m[i][j]);
}
printf("\n");
}
}

I want it to be like this :
m1 =
1 2 3 4
5 6 7 8
9 10 11 12

它在这里给了我一个错误:m[i][j],但没有其他。感谢您的帮助,我是初学者

最佳答案

如果您希望能够将 m 作为可变大小维度的二维数组存在,您可以使用 VLA 执行类似的操作。由于您是在 for 循环条件内声明变量,因此您的编译器应符合 C99 标准,因此您应该有权访问 VLA。*

void print_matrix(char s[], size_t rows, size_t cols, double m[rows][cols])
{
printf("%s =\n", s);
for (size_t i = 0; i < rows; i += 1)
{
for (size_t j = 0; j < cols; j += 1)
{
printf("%lf ", m[i][j]);
}
printf("\n");
}
}

*脚注:虽然 VLA 是 C99 标准中的强制包含项,但 C11 标准退后一步,将其设为可选功能。

关于c - 打印二维矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53328193/

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