形参实参
请问函数调用时定义形参后还需不需要实参? 怎么说呢,视情况而定。打个比方,这是代码:
def play(animal="dog"):
print("I am play with",animal)
如果你想要输出"I am play with dog",就不用二次赋值。但如果你想输出"I am play with cat",就应该这样写:
play(animal="cat")
如果这个数据需要实时更新,可以创建一个变量,把数值储存到里面。 asky533 发表于 2022-12-4 18:00
怎么说呢,视情况而定。
打个比方,这是代码:
#include <stdio.h>
#define N 3
struct Student{
char name;
int num;
int grade;
};
void DubbleSort(struct Student a[])
{
struct Student temp;
int i,j;
for(i = 0; i < N-1 ; i++)
{
for(j = 0; j < N-i-1 ;j++)
{
if(a.grade<a.grade)
{ //比较成绩的大小
temp = a; //成绩大的交换所在的数组元素
a = a;
a = temp;
}
}
}
}
int main(){
struct Student stu;
int i;
struct Student *p;
for(i = 0 ;i<N;i++){
printf("请输入第%d个学生的信息:\n",i+1);
scanf("%s%d%d",stu.name,&stu.num,&stu.grade);
}
p=stu;
DubbleSort(p);
for(i = 0;i<N;i++){
printf("排名第%d学生的名字:%s 学号:%d 成绩:%d\n",i+1,stu.name,stu.num,stu.grade);
}
}
这种呢,调用后还需要实参p吗 h-b-z-d-j-s-m 发表于 2022-12-5 15:09
#include
#define N 3
调用后实参p已经进入DubbleSort方法中了啊,而且你传入的是一个指针,指向的是同一个内存地址,你后面不需要实参p自然就可以不需要了
页:
[1]