吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1146|回复: 7
收起左侧

[已解决] 谢谢,解决了。

[复制链接]
一剑飘零 发表于 2022-10-17 08:59
本帖最后由 一剑飘零 于 2022-10-17 09:22 编辑

比如我有个函数,想让ab函数里的b值传到main函数里并打印,这个要如何实现?
[C] 纯文本查看 复制代码
int ab(int *p){   //想让b的指传到主函数里。根据我的思路这样好像是错误的。

int a,b;

scanf("%d,%d,&a,&b);

p=&b;

return a+b;

}



int main(){


int *aa=NULL;
ab(*aa);   

printf("%d,*aa); //我只想打印ab函数里的b的值,这个要怎么传值。改了好多次依旧不行,求指点;

}

又修改为这样就对了。:
[Asm] 纯文本查看 复制代码
int *aa=NULL;   在main前定义全局函数
int ab(int *p){ 
int a,b;
scanf("%d,%d,&a,&b);
aa=&b;
return a+b;
}

int main(){

ab();   
printf("%d,*aa);
return 0;}


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

三滑稽甲苯 发表于 2022-10-17 09:03
本帖最后由 三滑稽甲苯 于 2022-10-17 09:04 编辑

ab的参数里加个int*, 通过这个传出
或者你也可以传出一个数组,在main里进一步处理
doctrinist 发表于 2022-10-17 09:04
p的地址不能用函数里的变量地址,至少是主函数里的地址才行,或者全局变量
 楼主| 一剑飘零 发表于 2022-10-17 09:07
三滑稽甲苯 发表于 2022-10-17 09:03
ab的参数里加个int*, 通过这个传出
或者你也可以传出一个数组,在main里进一步处理

谢谢。弄好了。
 楼主| 一剑飘零 发表于 2022-10-17 09:09
三滑稽甲苯 发表于 2022-10-17 09:03
ab的参数里加个int*, 通过这个传出
或者你也可以传出一个数组,在main里进一步处理

这要如何加?能否改写一下看一下。
 楼主| 一剑飘零 发表于 2022-10-17 09:11
doctrinist 发表于 2022-10-17 09:04
p的地址不能用函数里的变量地址,至少是主函数里的地址才行,或者全局变量

确实。把指针设全局就好了。主函数好像也没用,只有全局可以。感谢!
swsjjdcs 发表于 2022-10-17 10:16
感谢分享、学习贴也是宣传贴我也要学学
seawaycao 发表于 2022-10-17 12:29
不用全局变量也可以的
#include <stdio.h>
int ab(int *p) {              //让b的值传到主函数里。
        int a =0 , b = 0;
        printf("请输入参数:");
        scanf_s("%d %d",&a,&b);   //两个"%d"之间只能用空格分割
        printf("您输入的是:a = %d,b = %d \n", a,b);
        *p = b;
        return a + b;
}
int main() {
        int aa = 0;
        ab(&aa);
        printf("输出结果:aa = %d",aa); //打印ab函数里的b的值
}
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-28 23:03

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表