【发布时间】:2013-10-21 14:00:07
【问题描述】:
int m[1000]; //declaring global array
int added(int input){
for(int i=1;i<= input; i++){
if(i>0 && input % 2) // checking if the numbers are even...
m[i]= input; //array implementation
return m[i];
}
}
int main()
{
for(int j=2;j<54;j++){
printf("%d",m[i]);
putchar('\n');
}
return 0;
}
我正在尝试从函数返回数组。为什么它不工作? 在for循环中实现数组。
【问题讨论】:
-
你从来没有真正调用过你的函数,这是最明显的事情。
-
也许你应该打电话给
added()? -
added中也缺少大括号。 -
input % 2将 odd 数字评估为true,这似乎与评论相矛盾。 -
added中的return语句位于for循环内,因此如果input >= 1成立,它将在第一次迭代时被命中。如果input < 1成立,则added有一个未定义的返回值。