如何自己定义一个函数,再进行调用?

img


左边为自己定义的函数形式。但是无法正常运行。F1的return应该return什么?怎样修改才能正常调用f1?右边程序可以正常运行。

无法正常运行的原因是,函数的返回值和调用方法错误。

如果只是需要排序数组,不需要返回值, 所以把int返回值类型可以改为void;正常调用,使用实参调用f1函数即可,即形如f1(a,10);即可。

修改如下:

#include <iostream>

using namespace std;

//因为只是需要排序数组,使用数组元素指针来可以达到排序数组元素的目的,不需要返回值, 所以int返回值改为void 
void  f1(int a[],int n){
    
    int i,j,t;
    for(i=0;i<n-1;i++){
        for(j=0;j<n-i-1;j++){
            if(a[j]>a[j+1]){
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
        }
    }
    

    
} 

int main(void){
    
    int a[10],i;
    cout<<"Input 10 number:\n";
    for(i=0;i<10;i++){
        cin>>a[i];        
    }
    f1(a,10);  //调用f1函数 
    
    //打印数组a的元素的值 
    for(i=0;i<10;i++){
        cout<<a[i]<<'\t';
    }
    
    return 0;
}

img

看你想返回函数的哪个值咯