gpt4 book ai didi

c - 在循环外使用变量,值在循环内变化

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

我是编程新手,在尝试编写使用循环的函数时遇到了一个问题。该函数应该这样工作:

数组Data由一组51X2的double组成,在程序中通过初始for循环、a变量和b变量全部使用。 X 和 Y 变量都设置为数组的最小值。

以a和X变量为例,X值与a比较,递增直到超过a。循环迭代次数由 c 变量跟踪。然后在 Graph 数组中使用此 c 变量。 b 和 Y 变量的过程相同。对 S 的每个值重复此过程,以分析数据数组中的所有数据点。

我遇到的问题是 cd 变量不会相对于循环内的变化而变化。变量不会改变它们的初始值。我正在寻找一种解决方案,允许 cd 变量根据 for 循环的迭代次数进行更改。

相关功能代码如下:

void Data_Plot(double Data[51][2], char Graph[44][56])
{
int N = 50;
int S,q,r;
int c = 0;
int d = 0;
double a = Data[S][0];
double b = Data[S][1];
double X = Data[0][0];
double Y = Data[0][1];
for (S=0;S<N;S++)
{
for(X;X<a;X+=0.1428571429)
{
c++;
}
for(Y;Y<b;Y+=2)
{
d++;
}

Graph[c][d] = '*';
}

我知道我的代码非常未经优化且困惑,但我可以在完成此代码后在未来的项目中解决这些问题。

编辑:我想指出,我曾尝试将 cd 设置为其他值,并保留为 NULL。无论变量初始化如何,都会出现相同的结果。

最佳答案

因为 ab 依赖于 S,你在 for 循环中改变了它,你需要将这些变量移动到循环内。

void Data_Plot(double Data[51][2], char Graph[44][56])
{
int N = 50;
int S,q,r;
int c = 0;
int d = 0;
double X = Data[0][0];
double Y = Data[0][1];
for (S=0;S<N;S++)
{
double a = Data[S][0];
for(X;X<a;X+=0.1428571429)
{
c++;
}

double b = Data[S][1];
for(Y;Y<b;Y+=2)
{
d++;
}

Graph[c][d] = '*';
}

关于c - 在循环外使用变量,值在循环内变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44442671/

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