永发信息网

C语言的简单问题求教

答案:3  悬赏:70  手机版
解决时间 2021-04-30 10:59

void increase(int* i)

{

(*i)++;

}

int main(void)

{

int i = 7;

printf(“Value of i is %d”, i); // i is 7

increase(&i);

printf(“Value of i is %d”, i); // i is 8

return 0;

}看不懂,请解释

最佳答案

int&是引用类型,而int*是指向int类型变量的指针类型。
void chat(int&a)
{
a=20;
}
调用此函数:

int x=100;
chat(x); // 此时x的值变为20了

如果函数如下:
void chat (int*a)
{
*a=20;
}
调用:
int x=10;
chat(&x); //此时x的值也会变为20;




向chat(int&a)传递参数的时候例如chat(x)此时a与x同样代表一块内存空间,而chat(int*a)调用的时候:chat(&x);此时a里面的值就是&x,也就是x代表的内存的首地址。

全部回答

这个很简单啊

第一个是7就不用解释了把

第二个

首先int i=7,在内存的栈中分配了一个地址给 i

就是传 i 的地址过去

increase()方法中通过

*i 来得到传过来的地址里面的值

然后给其实是给 i++

所以后面打出的是8咯

void increase(int* i)//void是函数无返回值, int是定义一个整型指针

{

(*i)++;//递加

}

int main(void)//主函数定义成int型

{

int i = 7;// i进行赋值

printf(“Value of i is %d”, i); // i is 7

increase(&i);// 因为i是指针, 取指针地址来进行计算

printf(“Value of i is %d”, i); // 递加以后i值为8

return 0;//无返回值

}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎么才能最快的找到花雨芝露服饰
田庙乡这个地址在什么地方,我要处理点事
我看到的是跟你一样的问题,我也想知道怎么弄
一种长方形的地砖长20cm,宽16cm,用这种地砖
系统系统怎么做不了?
男生送包和糖代表什么意思?
家里的矛盾易产生,也已解决。这句话是对还是
谁可以给我30颗音速种子啊
QQ三国这个地方在哪里
博士伦润明隐形眼镜护理液500ML怎么样
买电脑是买l联想ER300还是买惠普P6126 哪个好
QQ令牌的电能用多久?
什么时候才是最美好的呢?
上班时间尿急了怎么办?
推荐新网络游戏
推荐资讯
那款数码照相机相素好点
宜春南路/鼓楼西路(路口)在哪里啊,我有事要
CF是否模仿CSOL而且并没有拿到CS的版权?
先秦时期儒家思想创立和发展概况
lg kp500短信无法读取;读取的话只能打开一次
道德格言修身经典,看到趣玩网上有个很特别的
广州N86和N85 现在价钱多少?
东莞市人民医院
开车好还是开挖掘机好
关于手机N81软件
FREAKMIX YEARMIX 2009 这首歌那个有mp3的格
飞机飞过的痕迹形容心情的句子
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?