如何在主程序中调用函数, 并输出所有学生的学号?(标签-c语言)

c语言题目:用一个数组Student[2],记录2个学生的学号。定义一个函数modify( ), 输入变量i和number的值, 将Student[i]的学号修改为number。在主程序中调用modify( )函数, 并输出所有学生的学号.

方法其实蛮多,仅供参考。
方法一:直接写死

#include<stdio.h>

int modify(int i,int number) {
    int Student[2]= {1234,5678}; // 初始化数组
    // 定义指针指向该数组 
    int* p; 
    p = Student;
    //条件判断修改哪一个值 
    if(i==1){
        *p= number;
    }
    else if(i==2){
        *(p+1) = number;
    }
    else{
        printf("i无效");
    }
    //输出学生学号,如果学号比较多可以用 for 循环 
    printf("%d %d\n",Student[0],Student[1]);
    return 0;
}

void main() {
    int i,number;
    scanf("%d%d",&i,&number);
    modify(i,number);
}

img

方法二: 用 for 循环

#include<stdio.h>

int modify(int i,int number) {
    int Student[2]= {1234,5678}; // 初始化数组
    // 定义指针指向该数组 
    int j;
    int* p; 
    p = Student;
    int len = sizeof(Student)/sizeof(Student [0]);//计算数组长度 
    if(i==1){
        *p= number;
    }
    else if(i==2){
        *(p+1) = number;
    }
    else{
        printf("i无效");
    }    
    for(j=0;j<len;j++){
        printf("%d ",Student[j]);
    } 
    return 0;
}

void main() {
    int i,number;
    scanf("%d%d",&i,&number);
    modify(i,number);
}

img