[英]Keep Getting A Different Output For My Created Array When Printing
我是新来的人,也是编码的新人。 我得到了这段代码,想检查它是否正常工作。 这很简单,但是由于我是新手,所以我遇到了很多问题。 调用函数后尝试输出数组时,我不断得到一些随机数。 如果有人可以告诉我我做错了,将不胜感激。
# include <stdio.h>
int V[6]= {7,6,5,4,3,2};
int F(int G, int H) {
int J;
for (J=0;J<=5;J++) {
if(G<V[J]<H)
V[J]='Y';
else
V[J]='N';
}
}
main () {
int call;
call = F(3,5);
printf ("%d",call);
}
这是代码,我的输出是:
4206608
int F(int G, int H)
此第一个int
表示您将从该函数返回一个整数值。 但是在您的函数中,您什么也不返回。 因此,变量call
未分配任何值并显示垃圾值。
您正在打印函数而不是数组。 顺便说一句,似乎您忘记了将值返回给函数,未定义的返回值可能会导致您产生随机数。
尝试改为打印此:
for (J=0;J<=5;J++){
printf ("%d",V[J]);
}
好的,谢谢您的回答。 就像我说的那样,我是新来的,花了一些时间才弄清楚。 就像我得到的答案一样,我需要返回一些东西,这就是为什么我得到一些随机数的原因。 所以我将函数更改为void
而不是int
,并且似乎可以正常工作,我想看看函数调用是否将数组更改为我想要的样子,结果却没有,因此我不得不对其进行了一些更改。
# include <stdio.h>
int V[6]= {7,6,5,4,3,2};
int J;
void F(int G, int H){
for (J=0;J<=5;J++){
if(G<V[J] && V[J]<H)
V[J]='Y';
else
V[J]='N';
}
}
main (){
F(3,5);
for (J=0;J<=5;J++){
printf ("%c",V[J]);
}
}
我得到了我需要的输出是:
NNNYNN
感谢您的支持。 真的很感激。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.