Expected expression before ']' token?

前端 未结 4 946
青春惊慌失措
青春惊慌失措 2021-01-26 15:43

I have the following line which sends the arguments args[] and length to a method called largest.

  printf(\"Largest is: %         


        
相关标签:
4条回答
  • 2021-01-26 16:08
     printf("Largest is: %d \n", largest(args, length));
    

    just remove the '[]', because args is a pointer and that's what the function is expecting.

    0 讨论(0)
  • 2021-01-26 16:08

    You probably just want the pointer of the array, so pass in largest(args, length) instead.

    0 讨论(0)
  • 2021-01-26 16:11

    because you need to place an integer between the operator square brakets, or otherwise don't specify the square brackets :

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

    or

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

    Keep in mind that args[0] is the same as *(args + 0) but args[] will give an error because it needs a number to sum ...

    0 讨论(0)
  • 2021-01-26 16:21

    You can't pass an array like that. You have to pass the pointer to the array (first item):

    printf("Largest is: %d \n", largest(args, length));
    
    0 讨论(0)
提交回复
热议问题