我在将数组传递给函数时遇到了问题。我将它传递给一个函数并更新它,然后在main中打印值,它们打印得很好。我将它们传递给另一个函数来评估它们,并且这些值由于某种原因不能成功。我尝试将它们作为const char和const int传递,或者作为char和int传递。他们仍然没有工作。
我的家庭作业背后隐藏着这个问题。你能看出我做错了什么吗?我在Ubuntu上的GCC中编译。正如我所说,main()中的相同循环产生了正确的结果,并且我以一种在设置值的早期函数中正常工作的方式将数组传递给函数。
在main()
中evalGuesses(guessType, numberOfGuesses);
在evalGuesses()
中void evalGuesses(char guessType[], int numberOfGuesses)
{
int count;
for(count = 0; count < numberOfGuesses; count++);
{
printf("\n** Eval: option %c", guessType[count]);
}
return;
} // end evalGuesses
答案 0 :(得分:8)
在;
的右括号后删除分号for
。您拥有的代码现在等同于以下内容:
...
for( count = 0; count < numberOfGuesses; count++ ){
; // means "do nothing", empty-statement
}
{
printf( ... );
}
...
虽然您似乎想要printf( ... );
循环,但在这种情况下,您应该按照我在开始时的建议进行操作。