0

我有以下行,它将参数发送args[]length一个名为largest.

  printf("Largest is: %d \n", largest(args[], length));

当我尝试运行它时,我收到以下错误:

error: expected expression before ']' token

4

4 回答 4

5

因为您需要在运算符方括号之间放置一个整数,否则不要指定方括号:

printf("Largest is: %d \n", largest(&args[0], length));

或者

printf("Largest is: %d \n", largest(args, length));

请记住,这args[0]与相同*(args + 0)args[]会出错,因为它需要一个数字来求和...

于 2012-10-13T13:26:09.900 回答
1
 printf("Largest is: %d \n", largest(args, length));

只需删除“[]”,因为 args 是一个指针,而这正是函数所期望的。

于 2012-10-13T13:25:07.620 回答
1

您可能只需要数组的指针,因此请传入largest(args, length)

于 2012-10-13T13:25:15.513 回答
1

你不能传递这样的数组。您必须将指针传递给数组(第一项):

printf("Largest is: %d \n", largest(args, length));
于 2012-10-13T13:25:20.360 回答