【发布时间】:2012-10-13 13:23:29
【问题描述】:
我有以下行将参数args[] 和length 发送到一个名为largest 的方法。
printf("Largest is: %d \n", largest(args[], length));
当我尝试运行它时,我收到以下错误:
error: expected expression before ']' token
【问题讨论】:
标签: c
我有以下行将参数args[] 和length 发送到一个名为largest 的方法。
printf("Largest is: %d \n", largest(args[], length));
当我尝试运行它时,我收到以下错误:
error: expected expression before ']' token
【问题讨论】:
标签: c
因为您需要在运算符方括号之间放置一个整数,否则不要指定方括号:
printf("Largest is: %d \n", largest(&args[0], length));
或
printf("Largest is: %d \n", largest(args, length));
请记住,args[0] 与 *(args + 0) 相同,但 args[] 会出错,因为它需要一个数字来求和...
【讨论】:
printf("Largest is: %d \n", largest(args, length));
只需删除 '[]',因为 args 是一个指针,而这正是函数所期望的。
【讨论】:
您可能只需要数组的指针,因此请传入largest(args, length)。
【讨论】:
你不能传递这样的数组。您必须将指针传递给数组(第一项):
printf("Largest is: %d \n", largest(args, length));
【讨论】: