为什么程序明明定义了数组,运行时却提醒数组不存在

为什么程序明明定义了数组,运行时却提醒数组不存在,第1张

首先,Combo1要弄成控件数组,而且数组元素的个数要与数据库的字段数一样;

其次,代码要修改为:

For i = 0 To Combo1UBound

Combo1(i)Clear

Combo1(i)AddItem Fields(i)

Combo1(i)ListIndex = 0

Next i

#include<stdioh>

double copy1(double array[],double c1[],int n);

double copy2(double array[],double c2[],int n);

void main(void)

{

int size=4;

double source[4]={1,23,45,67};

double first_copy[4];

double second_copy[4];

double fp,sp;

fp=copy1(source,first_copy,size);

printf("The first copy: %f,%f,%f,%f\n",fp[0],fp[1],fp[2],fp[3]);

sp=copy2(source,second_copy,size);

printf("The second copy: %f,%f,%f,%f\n",sp[0],sp[1],sp[2],sp[3]);

}

double copy1(double array[],double c1[],int n)

{

int i;

for(i=0;i<n;i++)

c1[i]=array[i];

return c1;

}

double copy2(double array[],double c2[],int n)

{

double p;

int i;

for(i=0;i<n;i++)

{

p=&array[i];

c2[i]=p;

}

return c2;

}

for(n=0;n<10;n++);

scanf("%d",&a[n]);

你这个程序按照你这样的是有错误的。在for循环后面是不应该出现分号的。因为如果是那样的话。你的程序就不会是下面的输入输出结果了。

上面两句话应该一块来看的,他们的意思就是从控制台获得数组的每一个元素,并赋值到数组中去。&a[n]表示的是获取数组中第N个元素的地址。这是scanf的要求

for(n=9;n>=0;n--)这个循环就是倒序访问数组的每一个元素的。所以才会在输出的时候出现倒序的情况的。

#include<stdioh>

void main()

{

void catStr(char str1[],char str2[]);

void lenStr(char str[]);

void cmpStr(char str1[],char str2[]);

char str1[81],str2[81];

int n,m,a;

printf("ÇëÊäÈëµÚÒ»¸ö×Ö·û´®:\n");

gets(str1);

printf("ÇëÊäÈëµÚÒ»¸ö×Ö·û´®:\n");

gets(str2);

n=lenStr(str1);

m=lenStr(str2);

if((cmpStr(str1,str2)==0)&&(cmpStr(str1,str2)>0))

{

catStr(str1,str2);

a=lenStr(str1);

}

else

{

catStr(str2,str1);

a=lenStr(str2);

}

printf("Ô­×Ö·û´®µÄ³¤¶È£º\n");

printf("str1µÄ³¤¶È£º%d str2µÄ³¤¶È£º%d\n",n,m);

printf("Á¬½ÓºóµÄ×Ö·û´å³¤¶È£º%d\n",a);

}

void catStr(char str1[],char str2[])

{

int i;

for(i=0;str1!='\0';i++)

str1++;

for(i=0;str2!='\0';i++)

str1=str2;

str1='\0';

}

void lenStr(char str[])

{

int i,j;

for(i=0,j=0;str[i]!='\0';i++)

++j;

return j;

}

void cmpStr(char str1[],char str2[])

{

int i;

for(i=0;str1[i]!=0,str2[i]!=0;i++)

if(str1[i]-str2[i]==0)

return 0;

if(str1[i]-str2[i]<0)

return -1;

if(str1[i]-str2[i]>0)

return 1;

}

帮我看看怎么改。谢谢!!

以上就是关于为什么程序明明定义了数组,运行时却提醒数组不存在全部的内容,包括:为什么程序明明定义了数组,运行时却提醒数组不存在、怎么在子程序返回数组、求解C语言中数组问题 今天学到数组 但这道程序就是看不懂 可是急死我了 还望给位大大帮帮忙 下面是题目等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10211063.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存