gpt4 book ai didi

c - 初始化矩阵,C 中的预期表达式错误

转载 作者:太空宇宙 更新时间:2023-11-04 03:43:09 24 4
gpt4 key购买 nike

所以我尝试查找一些看起来有用但最终没有用的东西。

我应该在一个单独的函数中将一个 6x8 矩阵初始化为一个二维数组。我有三个文件,一个主函数文件,一个函数文件和一个头文件。

这里是主要的相关代码

     int plate[MAX_ROWS][MAX_COLS];

double A = 0, B = 0, T1 =0, T2 = 0, C = 0;

printf("\n");
printf("Welcome to the Heat Plate Simulation\n\n");
printf("Enter: Heat-A, Heat-B, Plate-1, Plate-2, Stab-Crit\n\n");
scanf("%lf%lf%lf%lf%lf", &A,&B,&T1,&T2,&C);

那我试试

    initialize_plate(plate,T1, T2);

    void initialize_plate(int plate[][MAX_COLS],double T1, double T2)
{
plate[MAX_ROWS][MAX_COLS] = {
{ T1, T1, T1, T2, T2, T2},
{ T1, T1, T1, T2, T2, T2},
{ T1, T1, T1, T2, T2, T2},
{ T2, T2, T2, T1, T1, T1},
{ T2, T2, T2, T1, T1, T1},
{ T2, T2, T2, T1, T1, T1}
};
return;
}

我收到的错误是 7P_functions.c:14:32: error: expected expression before ‘{’ token *plate[MAX_ROWS][MAX_COLS] = {

鉴于我对这个错误的研究,我唯一的猜测是它与已经初始化的数组有关,但我不确定如何纠正这个问题,而如果我在函数中而不是在函数中初始化数组main 不就是变成局部变量了吗?

任何帮助将不胜感激。

最佳答案

使用 memcpy 从临时数组中设置值。

void initialize_plate(int plate[][MAX_COLS],double T1, double T2){
memcpy(plate, (int [][MAX_COLS]){
{ T1, T1, T1, T2, T2, T2},
{ T1, T1, T1, T2, T2, T2},
{ T1, T1, T1, T2, T2, T2},
{ T2, T2, T2, T1, T1, T1},
{ T2, T2, T2, T1, T1, T1},
{ T2, T2, T2, T1, T1, T1} },
6*sizeof(int [MAX_COLS]));

return;
}

关于c - 初始化矩阵,C 中的预期表达式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26876854/

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