如何在子函数中改变main函数中的变量的值——阿里巴巴一面试题

本文介绍了在C语言面试中遇到的一道题目,探讨如何在子函数中修改main函数中变量的值。由于C语言的值传递特性,直接传递变量会导致无法在子函数中改变其值。文章列举了三种解决方法,包括使用return语句、指针和指针引用,详细解释了每种方法的实现原理。
摘要由CSDN通过智能技术生成


今天去面试阿里巴巴的平台型产品经理,问了我一个C语言题(产品经理还让现场写程序,我也是醉了!!!),题目大概是 

如何在子函数中改变main函数中的变量的值?

比如main函数里定义一个int型变量a,初始值为1,如何在 fun 子函数中将a的值改成100。

当时我大概是这么写的:

#include <iostream> 
void fun(int *p)
{
   p =100;
}     
void main()
{
   int *a = 1; 
   fun(a);     
   cout <<a <<endl;                                                                                        
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值