问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

不确定的实参变量可以被调用吗

发布网友 发布时间:2023-07-27 05:07

我来回答

1个回答

热心网友 时间:2024-11-20 23:36

形式参数:定义函数时函数名后括号中的变量名!
实际参数:调用函数时函数名后括号中的表达式!

1.形参未被调用时,不占存储单元。形参只在调用过程中占用存储单元。形参定义时必须指定类型!
2.实参是常量。变量或者表达式!要与形参类型一致!而且实参要有确定的值,占用储存单元,在调用过程中实参将值赋给形参!
3.C中实参对形参数据传递时时单向传递。在存储单元中是不同的单元

三种情况

情况一

#include<stdio.h>
void swap(int p,int q) { //p,q为形参
int temp = p;
p = q;
q = temp;
}
int main() {
int a,b;
scanf("%d%d",&a,&b);//a,b为实参
swap(a,b);
printf("%d %d",a,b);
}
1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
在这里插入图片描述
在上面第三条性质中实参对形参数据传递时时单向传递,在存储单元中是不同的单元,所以在swap函数中并不能改变a,b的值

情况二

#include<stdio.h>
void swap(int *p,int *q) { //p,q为形参
int temp = *p;
*p = *q;
*q = temp;
}
int main() {
int a,b;
scanf("%d%d",&a,&b);//a,b为实参
swap(&a,&b);
printf("%d %d",a,b);
}
1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
在这里插入图片描述
要想在swap函数里改变a,b值则使用指针

情况三

#include<stdio.h>
void swap(int *p,int *q) { //p为形参
printf("p = %d q = %d\n",p,q);
p = q;
printf("p = %d q = %d\n",p,q);
}
int main() {
int a,b;
scanf("%d%d",&a,&b);//a为实参
swap(&a,&b);
printf("&a = %d &b = %d\n",&a,&b);
printf("a = %d b = %d\n",a,b);
}
大家先思考一下结果会是什么,该情况是我们在函数实参与实参使用时经常出的BUG

注:在理解该情况实参与形参的指针与地址传递时

//在主函数开始swap函数传入a,b地址
p = &a; //该操作使a与p变量公用一块地址
q = &b; //该操作使b与q变量公用一块地址
//在swap函数里
p = q //使p与q公用一块地址,而p已经不与a用一块地址了,所以p的任何改变都与a无关,而与b有关
所以大家在函数中应注意地址改变与数值改变区别
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 实参,形参指什么 c语言库函数调用时,是不是把实参强制转换成要求的类型? 淘宝网上卖的新生活化妆品可信吗 新生活电器城是不是骗子公司?一台电视比淘宝便宜一半?20000的电视他卖1... 世界上最高冷的表白说说 土豆花菜西红柿苹果小白菜牛肉是一类的吗 舒城东站的介绍 300642股价是多少? 关于与自然之道意思相同的故事 增值服务的意思是什么? 理学为什么会出现? 谁能告诉我君君和薛之谦的歌迷会网址 ...内容要在情理之中,意料之外。例如:羚羊木雕但别仿写它的,也... 泸西有什么好玩好吃的 泸西羊汤锅哪家好吃 在泸西同哪里火锅好吃 泸西有什么好吃的饭店 泸西最好吃的烧洋芋 昆明泸西有什么好吃的 云南红河泸西金马有些什么好吃的 众辰变频器过热保护那个参数是什么 刹车片需要四个一起换吗? 汇川变频器用什么芯片 刹车片要四个轮一起换吗? 碳粉机和电子油墨有哪些区别,求 蔬菜能放在冰箱保鲜几天 蔬菜能放在冰箱保鲜多长时间 邀请别人周日一起去蜀山公园玩 英语作文 济宁地区180号段有哪些? 180是哪里地区的 人口密度为180每平方千米可能位于哪个地区?1亚洲南部2北美洲北部3非洲... 用ps做的,如何把文字部分转个方向,不管在里面哪个方向写,我要呈现在... 头晕,脸色发黄,心慌。做了脑ct、心电图、脑部磁共振、多普勒、血常 我头晕头痛两个多月,做了很多检查都没能查出来,尤其是太阳穴两侧疼痛... 头晕脑胀该怎么办? ...做过头部ct和做过血常规,医生说没有问题,请问到底是 桂林阳朔县到永州道县坐车几个小时 从永州道县寿雁去桂林阳朔最近的路线 ...去桂林阳朔?不想去桂林转车,道州北站有没有到阳朔的车?江永是不是... 湖南通道到广西阳朔有多远 湖南永州市道县离广西河池有多远?多少公里?坐车多久?