Jon*_*han 5 c floating-point argv atof
我正在做一个程序,其中我要进行矩阵相乘,但我的大问题是将输入转换为我最终要相乘的两个数组。以下是我的转换代码,包括数组的声明。(我删除了输入是 8 个有效浮点数的验证,因为我一直在调试它)。
//declare the arrays
float a[2][2];
float b[2][2];
float c[2][2];
int main (int argc, char *argv[])
{
int i,j,k,l;
i=0;
l=4;
// declare and initialize arrays
for( j =0; j<2; j++)
{
for(k=0;k<2; k++)
{
a[j][k]=atof[argv[i]];
b[j][k]=atof[argv[l]];
i++;
l++;
}
}
......
Run Code Online (Sandbox Code Playgroud)
在编译时使用 atof 时出现错误:“下标值既不是数组也不是指针”我一直在查找该错误,但还没有弄清楚它在我的情况下意味着什么。
我认为你想要的是以下内容:
a[j][k]=atof(argv[i]);
Run Code Online (Sandbox Code Playgroud)
请注意,使用的是函数()而不是[]周围argv[i]-atof是函数,而不是数组。