gpt4 book ai didi

c++ - 从整数到 double 的类型转换

转载 作者:行者123 更新时间:2023-11-28 06:09:40 24 4
gpt4 key购买 nike

下面是我要运行的基本代码

double h_a[9],h_b[2500],h_c[2704];
int r_a,c_a,r_b,c_b,r_c,c_c;
r_a = c_a = 3;
r_b = c_b = 50;
r_c = r_a + r_b - 1;
c_c = c_a + c_b - 1;
for(int i=0;i<(r_a*c_a);i++)
h_a = double(rand() % 50 + 1);
for(i=0;i<(r_b*c_b);i++)
h_b = rand() % 50 + 1;

它向我显示以下错误:1. 将 'double' 赋值给 'double [9] 时类型不兼容2.“i”的名称查找已更改为 ISO“for”范围 [-fpermissive]|3. 将 'int' 赋值给 'double [2500]' 时类型不兼容

帮助将不胜感激。

最佳答案

h_ah_b 是数组。您不能为数组赋值,只能为数组的元素赋值。

替换

h_a = double(rand() % 50 + 1);

通过

h_a[0] = double(rand() % 50 + 1);

并在对 h_b 的赋值中进行类似的更改将使编译器满意。我不知道这是否正确。

你有两个 for 循环。第一个在循环头定义循环变量;第二个不是:

for (int i = blah; blah; blah) { ... }
for (i = blah; blah; blah) { ... }

第一个循环定义的i的作用域就是这个循环。它在第二个循环中不可见。但在旧版本的 C++ 中,范围扩展到包含循环的 block 。根据这些规则,这是合法的。显然编译器仍然认可旧规则。将第二个循环中的 i = ... 更改为 int i = ...。然后您将有两个不同的变量,都命名为 i,每个循环一个。

关于c++ - 从整数到 double 的类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31529051/

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