关于调用函数中的参数输出问题
来源:互联网 发布:房价知乎 编辑:程序博客网 时间:2024/05/21 14:58
总结:1、关于指针的在函数中的调用,一定要注意地址和常量的参数传递,第三种方法是经典,注意定义的格式问题。
2、全局变量一旦定义,main函数和调用函数中直接用就可以,不需要重新定义,重新定义会使变成局部变量。
1.通常意义下我们想调用函数中的变量会选择return进行返回,但是实际上有的时候不止范围一个变量而是两个或者多个,或者是数组
void s(int x,int y){ int c,d; c=x+y; d=x*y;}void main(){ int a,b; int c;int d; scanf("%d,%d",&a,&b); s(a,b); printf("%d %d",c,d);}此时会报错,c,d没有初始化
2.可以考虑使用全局变量
#include "stdio.h"int c=0;int d=0; //定义全局变量void s(int x,int y){ //int c;int d;//调用函数中可以不进行初始化,但是此处一旦定义的话就变成了局部变量,虽然和全局变量同名,但是作用范围不同,局部变量只能在此函数中有意 义 c=x+y; d=x*y;}void main(){ //int c=0;int d=0;如果在main函数中有定义intc,d的话程序debug会提示没有初始化要你初始化,但是一旦你在这初始化的,c,d又是局部变量,输出结果为0 0 int a,b; scanf("%d%d",&a,&b); s(a,b); printf("%d %d",c,d);}
这样可以正确输出
3.当然万能的指针也是可以的。
#include "stdio.h"void s(int x,int y,int*p,int*q){//指针传值此处,调用函数中要传递数值变量,同时也要指针地址变量,这里必须是int*x格式,几个地址几个指针定义 int c;int d; // c=x+y; // d=x*y; //p=&c; //q=&d; *p=x+y; *q=x*y;}void main(){ int a,b; int _a,_b; scanf("%d%d",&a,&b); s(a,b,&_a,&_b);//指针传的是地址,因此这里必须是&某个常量的地址.某个常量可以任意定义。 printf("%d %d",_a,_b);}
0 0
- 关于调用函数中的参数输出问题
- 关于函数嵌套调用中的参数引用问题
- 关于函数调用中的const参数
- 关于VC开发中的函数调用问题
- 关于可变参数函数调用
- C++关于参数为const引用类型的函数调用参数成员函数的一个问题
- 关于函数调用过程中的实参和形参问题
- 关于c函数中的参数 "..."
- 调用存储过程中的输出参数必须指定参数方向
- 关于libnids中的函数调用
- 关于CommandType.StoredProcedure输出参数访问问题
- C#关于静态函数与普通函数之间的调用问题,以及可变参数的使用
- 关于C51的中断函数要注意的几个问题 -----中断中调用函数参数错误问题
- Python函数中的参数问题
- C++关于函数声明和定义中参数赋值为0调用问题演示
- 关于C#调用存储过程,带输出参数,存储过程
- sql中调用带输出参数的函数
- attachEvent带参数函数调用问题
- keepalived双BACKUP加nopreempt失效问题
- SQL分割字符串
- 编译器基本过程
- IceWarp邮件服务器群发邮件功能
- 飞信系统4月29日升级后飞信机器人无法使用的解决办法
- 关于调用函数中的参数输出问题
- 收藏的Android非常好用的组件或者框架
- VS 2013 链接不上TFS 但是web可以
- Google Guava 库用法整理
- Tophat-fusion Manual
- Icewarp邮件系统5分钟灾难恢复
- NetBeans与Glassfish的一些问题处理
- Composite(组合模式)
- mysql API 文档官网