| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1652 人关注过本帖
标题:关于scanf()函数中的“&”意义求解。
只看楼主 加入收藏
邹阳
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:124
专家分:402
注 册:2015-10-8
结帖率:73.68%
收藏
已结贴  问题点数:20 回复次数:5 
关于scanf()函数中的“&”意义求解。
举个实例:
#include <stdio.h>
int main()
{
    int a;
    scanf("%d",&a);
    printf("%d",a);   
    return 0;
}
  我想问,在scanf()中,“&”这个符号表示什么意思呢?有什么作用呢?求解。
搜索更多相关主题的帖子: include return 
2017-04-08 21:41
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:10 
scanf是一个函数,要让函数对参数的修改在函数返回后有效,那么必须传递该参数的地址。

最简单的例子,一个值交换函数,如下:

void swap( int a, int b)
{
    int temp;
    temp = a;
    a = b;
    b = temp;
}

这个函数对参数进行的交换,只在该函数中有效。
要让交换在函数返回后依旧有效,那么必须传递参数的地址,如下:

void swap( int *a, int *b )
{
    int temp;
    temp = *a;
    *a = *b;
    *b = temp;
}

调用该函数的方式是: swap( &a, &b );( 这里假设参数a,b不是指针);

顺带提一句:scanf()和printf() 这两个函数及它们的家族函数都是参数可变类型,所以这两个函数及它们家族函数并不能检测参数是否合法。

[此贴子已经被作者于2017-4-8 21:52编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-04-08 21:45
邹阳
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:124
专家分:402
注 册:2015-10-8
收藏
得分:0 
回复 2楼 renkejun1942
嗯嗯,其实在这里,有个问题,有关变量的值和变量的地址,我明白这是两个概念,或许我想通过scanf("%d",&a);对a赋值,但是,我想对a进行赋值,而不是取a的地址进行赋值。

I'm a new comer
2017-04-08 22:04
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 3楼 邹阳
我不太明白你的问题。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-04-08 22:14
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:10 
a是你的家
&a是你家的地址
scanf("%d",&a)是快递派送东西到你家的过程,是通过有效的地址才能将快件送到你家。
2017-04-09 04:49
邹阳
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:124
专家分:402
注 册:2015-10-8
收藏
得分:0 
回复 5楼 吹水佬
  嗯嗯,您讲的挺形象的,我明白了,谢谢您的指导。

I'm a new comer
2017-04-09 18:29
快速回复:关于scanf()函数中的“&”意义求解。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028520 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved