2 anhaoxuan anhaoxuan 于 2016.04.16 10:27 提问

C++函数传参的超简单问题

我想用程序写一个心理量表 那份心理量表有30个问题 所以我想写30个函数 把30个函数的处理结果通过按址传递的方式放到main函数下再处理 但是我写第一个函数(问题)就无法传递到main函数下 下一行开始是我的代码 请帮忙指正我的错误 谢谢!!!
#include
using namespace std;
void question1(int *p);
int main()
{
int point=0;
int *p=&point;

question1(&p);

return 0;
}

void question1(int *p)
{char option='a'||'b'||'c';
cout<<"你在看地图,或街上的指示,你会:\n";
cout<<"a 会有困难,而找人协助\n";
cout<<"b 把地图转过来,面对你要走的方向\n";
cout<<"c 没有任何困难\n";
cin>>option;
if(option=='a')
{*p=*p+15;}
else if(option=='b')
{*p=*p+5;}
else if(option=='c')
{*p=*p-5;}
}

3个回答

caozhy
caozhy   Ds   Rxr 2016.04.16 10:34
已采纳
 question1(&p);
->
question1(p);
caozhy
caozhy 回复anhaoxuan: 鬼知道范磊是什么人,明显不靠谱嘛。
2 年多之前 回复
wan974896411
wan974896411 回复anhaoxuan: p已经是地址,你如果再&p(取p的地址),就是地址的地址,你接收时就应该是用二级指针了
2 年多之前 回复
anhaoxuan
anhaoxuan 再次感谢您 我学C++用的是范磊给的教程 所以可能和您的理解有些出入 但是您给我的指导确实能解决我的问题 衷心感谢!!!
2 年多之前 回复
caozhy
caozhy 或者你写question1(&point);
2 年多之前 回复
caozhy
caozhy 回复anhaoxuan: p已经是地址了。
2 年多之前 回复
anhaoxuan
anhaoxuan 首先感谢您再次回答我的问题 但是我不太理解您的意思 如果把&p改成p不就变成了按值传递了么 我希望按址传递以防止出错
2 年多之前 回复
wan974896411
wan974896411   2016.04.16 10:42

question1(&p); 这里不应该用取地址,直接用question1(p);因为p已经是地址了

MeiZhiMaYiDuYou
MeiZhiMaYiDuYou   2016.04.16 13:12

改成question1(p)
p 存放的就是point 地址

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
函数传参问题(C/C++)
这两天做日历系统小项目,发现了一个很关键的问题:函数传参问题。 1、传值调用和传址调用(swap函数为例): 传值调用现象:x和y作为实参,在进入函数的时候是只拷贝了一份自己的副本(副本具有和自己一样的值,但是变量                          不同。){个人觉得是:进入子函数后开了个新的临时地址接收传进来的两个值,等该函数运行完了后                    
通过借用构造函数解决超类型构造函数传参
先举个例子:
C语言函数参数传递的分析
一、值传递和指针传递的概念 (一)值传递 值传递,即按值传递参数,按值传递参数时,是将实参变量的值复制一个到临时存储单元中,如果在调用过程中改变了形参的值,不会影响实参变量本身,即实参变量保持调用前的值不变。 1、形参只能是变量,实参可以是常量、变量或表达式。在被定义的函数中,必须指定形参的类型。 2、实参与形参的个数应一样,类型应一致。字符型和整型可以互相通用。 4、实参传递给形参是实
学PLC技术超简单
学PLC技术超简单是学习PLC编程及入门一本好书.
C/C++中函数传参方式简述
提到函数传参,必然就会面对“传值”和“传址”问题,C++中还会涉及到“传引用”。
C语言函数传参汇总
关于C语言函数传参现在汇总于下: 数据原型 应用 调用格式 声明格式 int arr[3] 等价传递 foo(arr,3) foo(int *p,int n) int arr[3][4] 等价传递 foo(arr,3) foo(int(*p)[4],int n) int *p 等价传递 foo(p) foo(int*p) int *p
给main函数传参的几种方法
//1 main方法的传参         // 打开终端传参 cmd   java xxxx param1  param2 ...         // 使用开发工具传参 eclipse run  configuration   arguments     //2 ...  不定长参数         /*          *  用法 和
最简单的生产者/消费者问题
生产者/消费者问题。可以从下图中看到,有一个容器用来存放数据,我们可以把这个容器当作”交易场所“或者”仓库“,生产者只关心仓库是否存满,不需要关心消费者的情况。消费者也一样,不需要关心具体生产者的情况,具体有多少个生产者,只需要知道仓库中是否有数据,双方甚至都不知道对方的存在。 生产者消费者,是在多线程同步的一个问题,两个固定大小缓冲区的线程,在实际运行是会发生问题,生产者是生成数据放入缓冲区
JS函数传递参数问题
JS函数传递参数问题 js中所有函数的参数都是按值传递的, 也就是说把函数外部的值复制给函数内部的参数, 就如同把一个变量赋值给另一个变量一样. 基本类型值传递如同基本类型变量复制一样 引用类型则同引用类型变量的复制一样 基本类型值传递 定义一个处理函数, 传递给函数一个数值类型的值, 只会修改韩顺局部变量的值. 而不会修改外部变量 function handleNum(num) ...
简单的银行系统-C语言
1、文件名建议用英文命名。2、保存为c后缀的文件,编译运行即可。3、仅供学习交流参考。#include&amp;lt;stdio.h&amp;gt; #include&amp;lt;string.h&amp;gt; #include&amp;lt;stdlib.h&amp;gt; #include&amp;lt;ctype.h&amp;gt; #include&amp;lt;conio.h&amp;gt; #define N_MAX...