如何在C中打印出main中的函数return语句?

时间:2017-04-19 03:18:33

标签: c arrays printf return-value

所以我完全忘记了如何从不同的函数中打印出一个return语句并将其显示在我的main函数中。我注释了我尝试打印函数return语句。我的以下代码如下:

include <stdio.h>

int main()
{
  int array[1024];
  int i;
  int num;
  int size;
  printf("How large is the Array: ");
  scanf("%d", &num);

  for( i = 0; i < num; i++)
  {
  scanf("%d",&array[i]);
  }

 printf("\nArray contains: ");

 for (i = 0; i < num; i++)
 {
  printf("%d",array[i]);
 }
 printf("\nSubsequence: ");
 for (i = 0; i < num; i++)
 {
  //printf("%d",maxArray(max_so_far));
 /// //I want to print max_so_far right here//////
 }
  printf("\n");
 return 0;

}

int maxArray(int array[], int size)
{
 int max_so_far = 0;
 int max_end = 0;
 for (int i = 1; i < size; i++)
{
 max_end = max_end + array[i];
 if (max_end < 0)
    max_end = 0;
 if(max_so_far < max_end)
   max_so_far = max_end;
   }
   return max_so_far;
}

3 个答案:

答案 0 :(得分:0)

for (i = 0; i < num; i++)
{
    printf("%d",maxArray(arrayYouWantToPass, sizeYouWantToPass));
    /// just call the function with right parameter and print it//////
}

就像

一样
for (i = 0; i < num; i++)
{
    printf("%d",maxArray(array, 2));
    //printf("%d",maxArray(array, size)); or this if size already have a value 
    /// just call the function with right parameter and print it//////
}

但我认为你的代码在maxArray函数中存在问题。你传递了一个数组,并想在之后返回值。但你把数组放在一个循环中。这只会运行一次因为它会在第一次循环后返回

答案 1 :(得分:0)

问题在于印刷品。

printf("%d",maxArray(array, size));

你需要包括尺寸,就像你要求的那样,和 将数组放在第一个参数上。

答案 2 :(得分:0)

要从上面的帮助中回答我自己的问题,打印出return语句并在main中调用它,我必须这样做:

printf("\nSubsequence: ");
 for (i = 0; i < num; i++)
 {
  printf("%d",maxArray(array,num));   //this is the way to print out what I wanted
 }
  printf("\n");